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

use*_*453 26 jquery onchange jquery-plugins jquery-chosen jquery-events

我正在使用Chosen jQuery插件,并注意到该change事件在页面加载时才起作用,而不是每次input更改字段时.

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

这是我的代码:

 $("#day").chosen().change({
     console.log('working');
  });
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?

Sou*_*dar 21

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

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

要在每个按键上发射事件,

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

要了解所选的默认事件,请参阅此处.


小智 19

试试这个:

$(document).ready(function(){
    $("selector").chosen().change(function(){
        var id = $(this).val();
    });
})
Run Code Online (Sandbox Code Playgroud)


小智 7

动态更新选择

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

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

  • 这与OP问题无关 (2认同)

Mil*_*war 0

然后在input的keyup事件中写入:

\n\n
$(\'inputselector\').keyup(function() {\n  $("#day").chosen().change({\n   console.log(\'working\');\n  });\n});\xe2\x80\x8b\n
Run Code Online (Sandbox Code Playgroud)\n\n

并在 dom 上准备好:

\n\n
$(\'inputselector\').trigger(\'keyup\');\n
Run Code Online (Sandbox Code Playgroud)\n