选择的插件更改事件未触发

时间:2014-01-22 07:47:26

标签: jquery jquery-plugins onchange jquery-chosen jquery-events

我正在使用Chosen jQuery插件,并注意到change事件在页面加载时仅 NOT 每次input字段正在改变。

每次用户更改输入字段的值时,如何使其工作?

这是我的代码:

 $("#day").chosen().change({
     console.log('working');
  });

我错过了什么吗?

6 个答案:

答案 0 :(得分:20)

要触发标准更改事件,请使用:

  $('#day').on('change', function(e) {
    // triggers when whole value changed
    console.log("value changed");
  });

要在每次按键时触发事件,

  $('#day').on('keyup', function(e) {
    // triggers when each key pressed
    console.log("key pressed");
  });

要了解所选的默认事件,请参阅here

答案 1 :(得分:18)

试试这个:

$(document).ready(function(){
    $("selector").chosen().change(function(){
        var id = $(this).val();
    });
})

答案 2 :(得分:7)

动态更新动态

如果您需要更新选择字段中的选项并希望选择选择更改,则您需要触发选择的选项:已更新"在球场上的事件。 Chosen将根据更新的内容重新构建自己。

$("#foo").trigger("chosen:updated");

答案 3 :(得分:1)

然后将其写入输入的keyup事件:

$('inputselector').keyup(function() {
  $("#day").chosen().change({
   console.log('working');
  });
});​

并准备就绪:

$('inputselector').trigger('keyup');

答案 4 :(得分:1)

选择多个

设置多选后,$(this).val(); 返回 array。 以下代码将返回最后一个 id [un]selected:

$('#my_chosen_list').chosen().change(function(_, object){
    console.log(!object.selected ? object.selected : object.deselected);
    ...
});

提示:undefined 未定义 (...),但 !undefined 为真,所以 !!undefined 为假

答案 5 :(得分:0)

    //Asp.net dropdown listbox
  <asp:ListBox ID="CompanySelect" runat="server" AppendDataBoundItems="true" 
  AutoPostBack="true"   
  data-placeholder="Select Companies" class="chosen-select"  SelectionMode="Multiple" 
  EnableViewState="true" Height="39px" Width="99%" >
  <asp:ListItem Value="0">All</asp:ListItem>
  </asp:ListBox>

    //This code help me for hiting chozen change event.

     $('#chosen').val('').change()
        {
           alert("working");
        }

    //if you want to get select value you need to do this.

     $('#chosen').val('').change()
        {
            alert($(".chosen-select").val());
        }