繁体   English   中英

使用其他方法附加文本不会触发文本框更改事件

[英]textbox change event doesn't fire using append text using another method

使用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更改

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

我试过了

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

 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"> 

您可以使用以下方式手动触发事件:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM