下面的代码可以工作,但我需要通过单击按钮
来触发sela on change
事件,因此控制台被写入ipsum
。
类似这样的:
$('button').on('click', function(){
$('.sela').change('ipsum'); // console...
});
这可能吗?
$('.sela').on('change', function(){
if($(this).val() == 'ipsum'){console.log('ipsum');}
});
$('button').on('click', function(){
$('.sela').val('ipsum');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select class='sela'>
<option>lorem</option>
<option>ipsum</option>
</select>
<button>CLICK</button>
最佳答案
$('.sela').val('ipsum').change();
更改值后需要触发change事件。
$('.sela').on('change', function(){
if($(this).val() == 'ipsum'){console.log('ipsum');}
});
$('button').on('click', function(){
$('.sela').val('ipsum').change();
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select class='sela'>
<option>lorem</option>
<option>ipsum</option>
</select>
<button>CLICK</button>
关于javascript - 通过单击按钮运行选择更改事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54237023/