检测值是否被jQuery更改

时间:2019-01-24 08:05:56

标签: jquery

我有此代码:

$('#inserted_advert_id').val(data['id']);
myFunction();

但是我想在更改输入myFunction()后运行#inserted_advert_id。现在,当我运行此脚本时,输入#inserted_advert_id不会更改(在myFunction()执行后会更改)。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

最简单的方法是在设置元素的change时手动引发一个val()事件:

function myFunction() {
  console.log('advert id was changed!');
}

$('#inserted_advert_id').on('change', function() {
  // any processing logic, if needed, goes here
  myFunction();
});

// somewhere else in your code base...
var data = { id: 'foo' }
$('#inserted_advert_id').val(data['id']).trigger('change');
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" id="inserted_advert_id" />