当选择下拉列表时,触发“更改”操作,而不是在更改下拉列表值时触发“更改”操作

时间:2011-06-16 08:53:22

标签: javascript jquery selectlist

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

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

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

$('select').change(function(){
       var idx = $(this).index();
       var query = $(this).val();
    $.ajax({
        url: 'getNext',
        data: {query:query},
        dataType: 'json',
        success: function(data){
                    var optionsList =''; 
                      for (var j=0; j'+data[j]+'';
                        }
                     $('select:eq('+idx+1+')').html(optionsList);
                         }
     });
});

我尝试过使用

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

2 个答案:

答案 0 :(得分:0)

你试过了吗?

$('select').click(
    function(){
        $(this).trigger('change');
    });

答案 1 :(得分:0)

尝试trigger

$('select:selected').trigger('change');