2016-02-21 2 views
1

Я хочу, чтобы после нажатия кнопки и изменения значения ввода, выдается предупреждение «Ok Done», но не работает. Значение может быть числом и буквами.Обнаруживание изменения значения в любом случае, jQuery

$("#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/

ответ

1

.val() не вызывает change событие, вам нужно позвонить .change() или .keyup(), чтобы инициировать событие

$("#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(); 
 
    })
<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>

0

использование .on("input", function() или .bind("input", function() { это будет включать все входные форматы, включая пасты, KeyUp, нажатие клавиши, изменение.

+0

Я сделал это, но это не work.Please сказать мне пример, здесь: https://jsfiddle.net/aLrLq2gt / –