在为jQuery设置下拉值时,会调用.change函数吗?

时间:2014-02-14 05:16:13

标签: javascript jquery asp.net-mvc drop-down-menu

每当我们为下拉元素设置值时,使用

$("#dropDownId").val(giveAValueHere);

$('#dropDownId option:contains("' + giveTheTextHere + '")').prop('selected', true);

是否会调用该元素的.change()函数?

假设下拉列表的,change()函数已定义并且 giveTheTextHere元素始终显示在下拉菜单中。

2 个答案:

答案 0 :(得分:0)

如果通过代码更改值,则更改事件处理程序不会调用,尽管您可以在更改值后触发更改事件。

$("#dropDownId").val(giveAValueHere).trigger("change");

$("#dropDownId").val(giveAValueHere).change();

答案 1 :(得分:0)

从javascript更改元素不会触发更改事件。你需要触发它:

$("body").on("change", "#dropDownId", function () {
    alert("Changed");
});

或:

$("#dropDownId").val(giveAValueHere).change();