Javascript Jquery set select option by.val()不会在(';change';,)上激发
Javascript Jquery set select option by.val()不会在(';change';,)上激发,javascript,jquery,Javascript,Jquery,一个 两个 三 单击我 $(“#按钮”)。单击(函数(){ $('面板').val(3); }); $('#panel')。on('change',function(){ 警报(“Hi”); }); 有人知道如何让这些东西工作吗?您需要手动触发事件 $('#panel').val(3).change(); 您还可以使用: 描述:执行附加到的所有处理程序和行为 给定事件类型的匹配元素 $(“#按钮”)。单击(函数(){ $('#panel').val(3).trigger(“change”
一个
两个
三
单击我
$(“#按钮”)。单击(函数(){
$('面板').val(3);
});
$('#panel')。on('change',function(){
警报(“Hi”);
});
有人知道如何让这些东西工作吗?您需要手动触发事件
$('#panel').val(3).change();
您还可以使用:
描述:执行附加到的所有处理程序和行为
给定事件类型的匹配元素
$(“#按钮”)。单击(函数(){
$('#panel').val(3).trigger(“change”);
});
$('#panel')。on('change',function(){
警报(“Hi”);
});代码>
一个
两个
三
点击我
在您的情况下,它不会触发更改事件,它是赋值,您必须调用类似的更改事件。更改如下
你必须使用like
HTML:
在.trigger('change')
和change()
之间,哪一个更好?在您的示例中是相同的。事情实际上是按照设计的方式工作的。考虑一种情况,当您以编程方式更改onchange处理程序中的值时,该更改将触发新的onchange,该值将再次更改。。。
$('#panel').val(3).change();
<select class="panel" >
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</select>
<button id="button">Click me</button> <!--click will change the select. But it doesnt fire the on change function. -->
$('#button').click(function(){
$('.panel').val(3);
$( ".panel" ).change();
});
$( ".panel" ).change(function() {
alert( "Handler for .change() called." );
});