Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果动态更改文本值,则文本框的onchange事件不起作用_Javascript_Jquery - Fatal编程技术网

Javascript 如果动态更改文本值,则文本框的onchange事件不起作用

Javascript 如果动态更改文本值,则文本框的onchange事件不起作用,javascript,jquery,Javascript,Jquery,当我在textbox上更改时触发Onchange事件,但当我尝试动态更改textbox值时,它不会触发为什么 这是我的简单演示,当我点击按钮时,我动态更改了textbox值,但textbox onchange事件仍然没有触发 <!DOCTYPE html> <html> <head> <title>Page Title</title> <script src="https://ajax.googleapis.com/ajax/li

当我在textbox上更改时触发Onchange事件,但当我尝试动态更改textbox值时,它不会触发为什么

这是我的简单演示,当我点击按钮时,我动态更改了textbox值,但textbox 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>

页面标题
我的第一个标题
我的第一段

$(文档).ready(函数(){ $(“#btnadd”)。单击(函数(){ $(“#txtno”).val('Hello'); }); });
通过JS更改输入值不会触发
.onChange
事件。你必须手动触发它

$('#room_1').trigger('change');


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

通过JS更改输入值不会触发
.onChange
事件。你必须手动触发它

$('#room_1').trigger('change');


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

只有在用户提交值更改时,才会在控件上触发“更改”事件。如果以编程方式更改字段,则需要触发“更改”事件

在这种情况下:

<script>
$(document).ready(function(){
    $("#btnadd").click(function(){
        $("#txtno").val('Hello').trigger('change');
    });
});
</script>

$(文档).ready(函数(){
$(“#btnadd”)。单击(函数(){
$(“#txtno”).val('Hello').trigger('change');
});
});

只有在用户提交值更改时,才会在控件上触发“更改”事件。如果以编程方式更改字段,则需要触发“更改”事件

在这种情况下:

<script>
$(document).ready(function(){
    $("#btnadd").click(function(){
        $("#txtno").val('Hello').trigger('change');
    });
});
</script>

$(文档).ready(函数(){
$(“#btnadd”)。单击(函数(){
$(“#txtno”).val('Hello').trigger('change');
});
});

它们为什么隐藏?真的吗?你有没有试着改变它的值,但函数没有执行?你能不能也显示一下你改变输入的部分?我的隐藏文本框值将动态出现,我可以通过将其转换为隐藏文本来查看它们为什么被隐藏?真的吗?您是否尝试更改它的值,但函数不执行?您是否也可以显示您更改输入的部分?我的隐藏文本框值将动态出现,我可以通过将其转换为隐藏文本来查看。作为答复,我应用了您的建议,但仍然没有更改事件triggered@JunedAnsari情不自禁,因为看不到您在哪里更新输入值。@JunedAnsari使用您更新的问题代码,它将是
$(“#txtno”).val('Hello')。trigger('change')我从您之前的回答中得到了解决方案,非常感谢您的回复,我应用了您的建议,但仍然有一次更改事件没有成功triggered@JunedAnsari无法帮助,因为看不到您在哪里更新输入值。@JunedAnsari和您更新的问题代码将是
$(“#txtno”).val('Hello')。trigger('change')我从您之前的答案中得到了解决方案,非常感谢