通过单击按钮运行选择更改事件

时间:2019-01-17 13:30:43

标签: javascript jquery

下面的代码有效,但是我需要通过单击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>

2 个答案:

答案 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")