使用另一种方法附加文本不会触发文本框更改事件
textbox change event doesn't fire using append text using another method
我需要在使用更改事件更改文本框的值时触发一个事件。
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.");
});
我在这里尝试更改 select 选项值附加到文本。它会工作正常。
文本框更改事件未触发也尝试使用 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');
});
我需要在使用更改事件更改文本框的值时触发一个事件。
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.");
});
我在这里尝试更改 select 选项值附加到文本。它会工作正常。
文本框更改事件未触发也尝试使用 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');
});