jQuery .val()没有做出"改变"

Ste*_*fan 1 html javascript css testing jquery

我在测试JavaScript时遇到问题.我测试的一部分看起来像

$('#activityType').val("33");
$('#favorite').click();
Run Code Online (Sandbox Code Playgroud)

$('#activityType')是一个选择字段,我想选择值为"33"的选项.现在我预料到,这将是一个改变,所以我的程序中的功能就像

$('body').on('change', '.item-select', function() {
    var itemRow = $(this).parent().parent();
    changeBookableItemInputFields(itemRow);
});
Run Code Online (Sandbox Code Playgroud)

将被执行.

$('#activityType')已经拿到了类的属性item-select,所以我不明白,为什么$('#activityType').val("33");是没有变化.我改变了值,css-attribute就在那里.身体应该能够找到它并且应该执行该功能.

任何人都可以告诉我,为什么它不起作用?

epa*_*llo 6

使用JavaScript更改值不会触发事件,您需要手动触发它.jQuery使这很简单.trigger(eventName)

$('#activityType').val("33").trigger("change");
Run Code Online (Sandbox Code Playgroud)