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

标签 javascript jquery textbox onchange

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

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/

相关文章:

c# - 从 WPF 应用程序的文本框中获取用户输入

c# - 在自动完成文本框 C# 中按回车键后关闭下拉菜单

javascript - 进度条不会使用 jQuery 增加其大小

javascript - 获取sessionStorage并恢复值

javascript - window.open(url) 不在同一选项卡中打开新网页

php - JavaScript 等价于 PHP 的 preg_replace

javascript - jquery仅在文档准备好时获取maps.google.com

使用 jquery 时出现 Javascript 异常 "parameter name : index"

c# - 如何使 textBox 值等于 datagridview 单元格值

javascript - 我正在尝试使用 jquery 和 ajax 将多个数据发送到另一个页面以检查数据库中是否存在值