附加事件来动态创建的选择选择使用jQuery(Attach event to dynamically

2019-10-20 08:53发布

我想添加事件动态创建的选择选择,并希望得到期权价值..但迷惑于动态创建的选择选择如何火灾事件......?

我知道我们可以用jquery.live or jquery.on event ,但对于我们需要适当的选择/ ID

$(document).on( eventName, selector, function(){} );

我的小提琴: 演示小提琴

HTML:

<select id="t1pl1" class="chosen-select" data-placeholder="Select player..." style="width:200px;">
    <option value="0"></option>
    <option value="11">Player 1</option>
    <option value="12">Player 2</option>
    <option value="13">Player 3</option>
</select>

Answer 1:

演示: http://jsfiddle.net/4wCQh/23/

我想你可以使用on的事件绑定因为你有动感的元素,你应该使用的父母选择select的事件绑定。

简单的解决方法是将使用:

    $(document).on('change', 'select[id^="t1"]', function () {
        alert($(this).val());
    });

使用更新用这样的代码:

$(document).on('mouseenter', 'li.active-result.highlighted', function (e) {
   $("#pid").html($("option").eq($(this).data("option-array-index")).val());
});

而不是你的旧代码。

说明:

change是事件, select[id^="t1"]为所有选择具有ID开始与CSS选择t1 。 请参阅属性选择的更多信息。 另外,你可以得到的当前值select使用$(this).val()



Answer 2:

为了避免玩弄编号附上您的听众选择本身。

// Do your selectbox creation...
// var selector = whatever...

$( selector ).on( eventName, function( event ){
    console.log( 'Event was triggered by', $( event.target ) );

    // do stuff with your event.target, like getting value and such.
});


文章来源: Attach event to dynamically created chosen select using jQuery