下面的代码有效,但是我需要通过单击sela on change
来触发button
事件,因此控制台被编写为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>
答案 0 :(得分:5)
$('.sela').val('ipsum').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>
答案 1 :(得分:1)
当用户通过页面上的交互更改值而不是使用代码修改值时,将触发Change事件。
在此处,您需要在更改值后使用man = Hero()
man = Berserk(man)
或TypeError: __init__() takes exactly 1 argument (2 given)
:
.change()
.trigger("change")