अरे मुझे मैन्युअल रूप से एक बदलाव-ईवेंट को फायर करने में समस्या है।फायर चेंज-इवेंट मैन्युअल रूप से
तो मेरे पास अलग-अलग मानों के साथ एक चयनऑनमेनू (मुझे जेएसएफ में ड्रॉपडाउन की तरह) है।
यदि मैं इस ड्रॉपडाउन-सूची का मूल्य चुनता हूं, तो एक डाटाटेबल अपडेट किया जाना चाहिए। यह सही ढंग से काम करता है, अगर मैं मैन्युअल रूप से यह मान चुनता हूं।
अब एक मामला है, जहां मुझे 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
करना चाहिए वाह आप इस महान उत्तर के लिए बहुत बहुत धन्यवाद! मैं एक का उपयोग करता हूं और जैसा कि आपने विजेटवार के साथ सुझाव दिया है और विशेष ट्रिगर चेंज-विधि यह पूरी तरह से काम करता है :-) धन्यवाद और आपका दिन शुभ हो –
xeraphim