嘿,我手动触发change事件遇到了问题。
我有一个selectOneMenu(类似于jsf中的下拉菜单),其中包含不同的值。
如果我选择此下拉列表的值,则应更新数据表。如果我手动选择该值,则可以正常工作。
现在有一种情况,我需要向selectOneMenu插入一个新值。这个新值会自动被选择,但是更新datatable的change事件却没有被触发...
所以基本上我有一个按钮来保存一个新值到selectOneMenu,然后正确地选择该值,但是datatable没有被更新,这就是为什么我尝试编写fireChange()函数并将其放在按钮的oncomplete中:
<p:commandButton ajax="true" id="seatingPlanSave" actionListener="#{EventAssistentController.createSeatingPlan}" value="#{msg.save}" update=":createEvent:EventSeatingPlan, :createEvent:ticketTypePrices" oncomplete="fireChange()"/>
对于fireChange()-函数,我尝试了几种不同的方法:
function fireChange() {
var element = document.getElementById("createEvent:EventSeatingPlan_input");
element.change();
}
function fireChange() {
var element = document.getElementById("createEvent:EventSeatingPlan_input");
$(element).trigger("change");
}
function fireChange() {
if ("fireEvent" in element)
element.fireEvent("onchange");
else {
var evt = document.createEvent("HTMLEvents");
evt.initEvent("change", false, true);
element.dispatchEvent(evt);
}
}
但是这些都没起作用,
你能不能告诉我如何实现这个?
谢谢,Xera