我有一个名为select1的选择,当select1更改时,很少触发事件。 我想在页面加载2秒后更改select1选项,以便触发其他事件。
页面加载2秒后,我可以更改select1选项,但是此更改不会触发.change(function)
kubeadm
jquery
<select name="select1">
<option value="21">apple</option>
<option value="22">orange</option>
<option value="23">banana</option>
</select>
其他事件
$(document).ready(function(){
setTimeout(function() {
$('select[name="select1"]').val(23);
}, 2000);
})
答案 0 :(得分:1)
您将需要明确触发change方法。由于val()方法不会触发它。
在val()之后,调用选择框的change方法。
$('select[name="select1"]').val(23).change();
$(document).ready(function(){
setTimeout(function() {
$('select[name="select1"]').val(23).change();
}, 2000);
})
$('select[name="select1"]').change(function(){
console.log("Select dropdown value has been changed");
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>
<select name="select1">
<option value="21">apple</option>
<option value="22">orange</option>
<option value="23">banana</option>
</select>