如何使用JQuery绑定TextBox的onchange事件?

gat*_*ath 28 html jquery

如何使用jQuery将TextBox的OnChange事件绑定到函数?

我试过这个并且失败了:

$(document).ready(function() {
    $("input#tags").bind("change",autoFill);
});

function autoFill() {
    $("#tags").autocomplete("/taglookup/", {
        width: 320,
        max: 4,
        highlight: false,
        multiple: true,
        multipleSeparator:",",
        scroll: true,
        scrollHeight: 300,
        delay: 10
    });
}
Run Code Online (Sandbox Code Playgroud)

注意:我想实现一个Tag TextBox,就像stackoverflow一样,它检测OnChange事件并在用户输入时调用AJAX函数.

Cha*_*ant 31

你正在寻找keydown/press/up

$("#inputID").keydown(function(event) {
    alert(event.keyCode);
});
Run Code Online (Sandbox Code Playgroud)

或使用bind $("#inputID").bind('onkeydown',...

http://docs.jquery.com/Events

  • 键*仅适用于按键.如果使用鼠标上下文菜单在文本框中粘贴某些内容,则不会触发.使用onchange事件通常是要走的路. (3认同)

Ale*_* LE 18

您必须将事件名称从"更改"更改为"onchange":

$(document).ready(function(){
        $("input#tags").bind("onchange", autoFill);
          });
Run Code Online (Sandbox Code Playgroud)

或使用快捷键绑定方法更改:

$(document).ready(function(){
        $("input#tags").change(autoFill);
          });
Run Code Online (Sandbox Code Playgroud)

请注意,onchange事件通常在用户离开输入时触发,因此对于自动完成,您最好使用keydown事件.


Jak*_* P. 7

组合keyupchange不一定足够(浏览器的自动完成和使用鼠标粘贴也会更改文本框的内容,但不会触发这些事件):

jquery改变不起作用的动态值变化