在任何情况下检测值的变化,jQuery

时间:2016-02-21 07:44:06

标签: javascript jquery

我想在点击按钮后更改输入值,结果提醒'Ok Done'但不起作用。值可能是数字和字母。

$("#myTextBox").bind("change paste keyup", function() {
    alert('Ok Done');
});

$('button').on('click', function() {
    //alert('ok');
    $("#myTextBox").val(
        function(i, val) {
            return val * 1 + 1
        }
    );
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input id="myTextBox" type="text" value="1"/>
<button> Click me and chenge input value </button>

https://jsfiddle.net/aLrLq2gt/

3 个答案:

答案 0 :(得分:1)

.val()不会触发change事件,您需要致电.change().keyup()来触发事件

&#13;
&#13;
$("#myTextBox").bind("change paste keyup", function() {
        alert('Ok Done');
    });

    $('button').on('click', function() {
        //alert('ok');
        $("#myTextBox").val(
            function(i, val) {
                return val * 1 + 1
            }
        ).change();
    })
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="myTextBox" type="text" value="1"/>


<button>
Click me and chenge input value
</button>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

使用.on("input", function().bind("input", function() {这将包括所有输入格式,包括粘贴,加密,按键,更改。

答案 2 :(得分:0)

$("#myTextBox").bind("change paste keyup", function() {
        alert('Ok Done');
    });

工作得很好。只需在输入中引入更改事件。 以下是适合您的工作人员:http://plnkr.co/edit/stmVc2xZnyg6fGLc8qcc?p=preview

和工作小提琴: https://jsfiddle.net/rumba_alex47/pvfewas1/