2015-03-16 7 views
0

Я использую ASP.NET MVC 4 для динамической загрузки PartialView, который содержит параметр. Я хочу связать событие jQuery dblclick с этим и получить выбранный параметр, но событие не срабатывает. Вот мой код:Событие jQuery, не запускающее динамически сгенерированное содержимое

<select size="5" id="popup-list"> 
    <option value="test">test</option> 
</select> 

JQuery код:

$(document).ready(function(){ 

    $("#popup-list").live("dblclick", function() { 
     var name; 
     $("select option:selected").each(function() { 
      name = this; 
      name = this.text(); 
     }); 
    }); 

}); 

Я не уверен, как, почему это вызывает проблемы. Код находится в документе document.ready(), который должен следить за динамической загрузкой.

+1

это событие делегирование. подробнее здесь. http://learn.jquery.com/events/event-delegation/ –

+0

какую версию jquery вы используете? –

ответ

2

Используйте On метод jquery.

$("body").on("dblclick", "#popup-list", function() { 
    var name; 
    $("select option:selected").each(function() { 
     name = this; 
     name = this.text(); 
    }); 
}); 

Примечание: on метод доступен на Jquery версии 7

2

Попробуйте один из этого: Метод: 1

$(document).ready(function(){ 
    $("#popup-list").on("dblclick", function() { 
     var name; 
     $("select option:selected").each(function() { 
      name = this; 
      name = this.text(); 
     }); 
    }); 
}); 

Метод: 2 Или

$(document.body).on("dblclick", '#popup-list', function() { 
---your code---- 
}); 

Метод: 3

$(document).on("dblclick", '#popup-list', function() { 
---your code---- 
}); 
Смежные вопросы