当我在文本框上进行更改时触发了Onchange事件,但是当我尝试动态更改文本框值时却未触发,原因是什么?
这是我单击按钮时的简单演示,我动态更改了文本框的值,但仍未触发文本框的onchange事件。
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
</head>
<body>
<h1>My First Heading</h1>
<p>My first paragraph.</p>
<input type="text" id="txtno" value="" onchange="javascript:alert('Hi');">
<input type="button" id="btnadd" value="ClickMe">
<script>
$(document).ready(function(){
$("#btnadd").click(function(){
$("#txtno").val('Hello');
});
});
</script>
</body>
</html>
最佳答案
通过JS更改输入值不会触发.onChange
事件。您必须手动触发
$('#room_1').trigger('change');
我看不到您在代码中更改输入字段值的位置。