当我在文本框上进行更改时触发了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');




我看不到您在代码中更改输入字段值的位置。

07-24 09:51
查看更多