Javascript 选择2不';t在更改/选择第一个选项时触发
我正在做的是:当模式弹出窗口打开时,动态地向选择框添加选项。并等待更改时的Javascript 选择2不';t在更改/选择第一个选项时触发,javascript,jquery,jquery-select2,select2,select2-rails,Javascript,Jquery,Jquery Select2,Select2,Select2 Rails,我正在做的是:当模式弹出窗口打开时,动态地向选择框添加选项。并等待更改时的触发器响应 观察:除了第一个选项外,它会弹出所有选项的警报框。 下面是代码 $("#query_product").on("change", function(e){ alert(1) }); $("#add_condition_modal").on( "shown.bs.modal", function() { options = ['<option>one</option>','<
触发器响应
观察:除了第一个选项外,它会弹出所有选项的警报框。
下面是代码
$("#query_product").on("change", function(e){
alert(1)
});
$("#add_condition_modal").on( "shown.bs.modal", function() {
options = ['<option>one</option>','<option>two</option>','<option>three</option>']
$('#query_product').find('option').remove()
$('#query_product').append(options);
});
<select id="query_product" name="query_product" required></select>
似乎什么都不管用。任何帮助都将不胜感激。TIA这是你做错了一点
[“一”、“二”、“三”]
我建议用绳子
$("#query_product").on("change", function(e){
alert(1)
});
$("#add_condition_modal").on( "shown.bs.modal", function() {
options ='<option>one</option><option>two</option><option>three</option>';
$('#query_product').html(options);
});
<select id="query_product" name="query_product" required></select>
这把小提琴可能有用
试试这个:
$("#query_product").on("change", function(e){
alert(1)
});
$("#add_condition_modal").on( "shown.bs.modal", function() {
options = ['<option value="one">one</option>','<option value="two">two</option>','<option value="three">three</option>']
$('#query_product').find('option').remove();
$('#query_product').append(options);
$('#query_product').val("");
});
<select id="query_product" name="query_product" required></select>
$(“查询产品”)。关于(“更改”,函数(e){
警报(1)
});
$(“#添加#条件#模态”)。在(“show.bs.modal”,function()上{
选项=['1','2','3']
$(“#查询_产品”).find('option').remove();
$(“#查询_产品”)。附加(选项);
$(“#查询_产品”).val(“”);
});
Nope,注释掉了$('query\u product')。查找('option')。删除()。。仍然是相同的结果您是否尝试重新初始化它<代码>$(“#查询_产品”)。附加(选项)。选择2()
而不是删除$('#query_product')。查找('option')。删除()
?让我为您创建一个小提琴。现在尝试一下。同样的结果:|我已经更新了答案和fiddle链接。试试看,它会管用的。谢谢,这个管用。但您能解释一下为什么需要将空val设置为select框吗。我很想知道这是为了重置选择框的值,以便触发更改事件。
var options = ['first_option','second_option','third_option'];
var optionString = '';
for(var i = 0; i< options.length; i++){
optionString += '<option>'+options[i]+'</option>';
}
then $('#selector').html(optionString);
$("#query_product").on("change", function(e){
alert(1)
});
$("#add_condition_modal").on( "shown.bs.modal", function() {
options = ['<option value="one">one</option>','<option value="two">two</option>','<option value="three">three</option>']
$('#query_product').find('option').remove();
$('#query_product').append(options);
$('#query_product').val("");
});
<select id="query_product" name="query_product" required></select>