使用change事件更改文本框的值时,需要触发一个事件。

html

'<select onchange="ChooseContact(this)">
 <option value='1'>1</option>
 <option value='2'>2</option></select>
 <input id="friendName">'


JS

function ChooseContact(data) {

document.getElementById ("friendName").value = data.value;

}

 $("#friendName").change(function(){
   alert("The text has been.");
  });

$('#friendName').bind('input propertychange', function() {
       alert("The text has been changed.");
});


在这里,我尝试更改选择选项值追加到文本。它将正常工作。

文本框更改事件不会触发,也尝试使用input propertychange

如果有人知道原因,请在这里分享。

I tried

最佳答案

由于您是通过编程方式更改值,因此更改事件不会自动触发,而是可以手动触发



function ChooseContact(data) {
  $('#friendName').val(data.value).change()
}

$("#friendName").change(function() {
  alert("The text has been.");
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select onchange="ChooseContact(this)">
  <option value='1'>1</option>
  <option value='2'>2</option>
</select>
<input id="friendName">

关于javascript - 使用其他方法添加文本不会触发文本框更改事件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31870320/

10-11 23:23
查看更多