2

我有一些动态创建的下拉列表。

我在保持代码 DRY 方面做得不错,但我有一个小问题。

我指示 jQuery 在选择列表“更改”时触发事件,并且由于列表是动态构建的,因此当从服务器检索响应时它们会更改,jQuery 正在考虑更改。但我真正想要的是仅在从下拉列表中“选择”选项时触发操作。

$('select').change(function(){
       var idx = $(this).index();
       var 查询 = $(this).val();
    $.ajax({
        网址:'getNext',
        数据:{查询:查询},
        数据类型:'json',
        成功:函数(数据){
                    var optionsList ='';
                      for (var j=0; j'+data[j]+'';
                        }
                     $('select:eq('+idx+1+')').html(optionsList);
                         }
     });
});

我试过使用

$('select:selected').change()
但这不会触发任何事情。关于如何仅在选择选项时而不是在创建选项或选择列表时触发更改的任何建议?

4

2 回答 2

0

你有没有尝试过:

$('select').click(
    function(){
        $(this).trigger('change');
    });
于 2011-06-16T08:59:14.707 回答
0

尝试触发

$('select:selected').trigger('change'); 
于 2011-06-16T09:02:54.030 回答