दिखा रहा है मेरे पास एक बटन है जिसमें Primafaces overlayPanel
खुलता है। पैनल में एक और बटन है जो अजाक्स क्रिया करता है और फिर ओवरले बंद करता है।प्राइमफेस गतिशील ओवरलेपैन केवल एक बार
<h:form>
<p:commandButton id="button1" value="Open overlay" type="button"/>
<p:overlayPanel for="button1" widgetVar="ovl" dynamic="true">
<p:commandButton value="Close" oncomplete="ovl.hide();"
update="@form"/>
</p:overlayPanel>
</h:form>
कृपया ध्यान दें कि पैनल dynamic="true"
होना आवश्यक है गतिशील सामग्री असली आवेदन में दिलवाया जाना चाहिए क्योंकि, और update="@form"
अन्य रूप अवगत कराने के लिए की जरूरत है:
यहाँ सभी में कोई अजाक्स कार्रवाई के साथ एक सरलीकृत संस्करण है अवयव।
समस्या यह है: यदि मेरे पास दोनों एटिब्यूट्स हैं, dynamic="true"
और update="@form"
ओवरले केवल पहली बार दिखाई देता है। "बंद करें" बटन पर क्लिक करने के बाद, यदि मैं एक बार "ओपन ओवरले" पर क्लिक करने का प्रयास करता हूं, तो पैनल दिखाई नहीं देगा।
मैं क्या गलत कर रहा हूं?
(का उपयोग करते हुए PrimeFaces 3.5 और ग्लासफिश 3.1.2.2)
धन्यवाद Aksel। दुर्भाग्य से ओवरले कई अलग-अलग विचारों में उपयोग किए जाने वाले समग्र घटक का हिस्सा है, इसलिए इसे मूल रूप तत्व द्वारा होस्ट किया जाना चाहिए: यह अपने स्वयं के रूप को परिभाषित नहीं कर सकता क्योंकि मैं नेस्टेड रूपों के साथ समाप्त होता हूं। – yankee