javascript事件未被触发

时间:2014-05-05 07:08:47

标签: javascript jquery html

我有一些旅行者的下拉菜单。

当我更改值(比如选择2)时,它会显示更多下拉列表(在本例中为2个下拉列表),用于输入旅行者的年龄。

这是现有功能。现在我创建了另一个下拉列表,在这里我编写了一个onChange函数来设置旅行者的价值:

document.getElementById("travellers").value="1";

我希望年龄的额外下拉列表能够自行显示,而这种情况不会发生。

如何使用jQuery / JavaScript实现这一点?

1 个答案:

答案 0 :(得分:2)

当您以编程方式修改值时,事件将不会触发。你需要触发事件。

使用vanilla JS

var select = document.getElementById("travellers");
//fire the event
if("createEvent" in document) { //NON IE browsers
    var evt = document.createEvent("HTMLEvents");
    evt.initEvent("change", false, true);
    select.dispatchEvent(evt);
} else { //IE
    var evt = document.createEventObject();
    select.fireEvent("onchange", evt);
}

正如您使用jQuery标记了您的问题,您可以使用.trigger()

$("#travellers").trigger("change");