[英]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.