所以我有一个问题,我有一个下拉列表,然后我使用dropkick.js创建它。 (我只是在学习dropkick.js所以我现在认为我误解了一些东西。)
问题
当我绑定一个像这样的on change事件时
$('.pizza_size').on('change', 'select[name=pizza_size]', function() {
alert(this.value);
});
警报被调用两次。
我最初的问题是选择下拉列表是动态更改的,因此$(".default").dropkick();
不再适用,所以我在上面创建了这个动态选择器。 (如果有更好的方法动态绑定调用,请告诉我们!:D)
有用的信息: (基于我的一些调试)
<select>...</select>
创建的那个一个dropkick.js使用class=dk_container dk_theme_default
类创建。所以我评论这个html以避免这个(在第一个小提琴中),但它似乎仍然存在2个选择下拉列表!答案 0 :(得分:2)
我想我发现了这个问题:
在你的dropkick.js插件中,你有两次选择触发。 在插件中搜索这些行
$select.trigger('change');
$select.val(value).trigger('change');
在这里评论第一行
$select.trigger('change'); // comment this line in your dropkick.js file
然后试试。 &#34;警报被调用两次。&#34;这将是固定的。
答案 1 :(得分:1)
您可能只需使用the documented API的dropkick。
$(function () {
$('.default').dropkick({
change: function () {
alert("You selected " + $(this).val() + " for " + this.id + ".");
}
});
});