2012-09-27 13 views
17

मैं अपने कोड में प्राइमफेस <p:ajax> टैग का उपयोग कर रहा हूं। हम किसी बच्चे घटक को अजेक्स कॉल में अपडेट होने से कैसे निकाल सकते हैं जो मूल घटक को अद्यतन करता है?अभिभावक घटक के AJAX अद्यतन में बाल घटक को कैसे बाहर निकालना है?

उत्तर

26

यदि आप कम से कम प्राइमफ़ेस 3.3 का उपयोग कर रहे हैं, तो आप इसके लिए PrimeFaces Selectors का उपयोग कर सकते हैं। यह आपको process और update प्राइमफ़ेस AJAX घटकों के गुणों का उपयोग करने की अनुमति देता है।

उदाहरण के लिए:

<h:form> 
    <h:inputText ... /> 
    <h:inputText ... /> 
    <h:inputText ... styleClass="noupdate" /> 
    <h:inputText ... /> 
    <h:inputText ... /> 
    <p:commandButton ... update="@(form :not(.noupdate))"/> 
</h:form> 

यह उदाहरण ग्राहक के पक्ष में class="noupdate" होने आदानों के अलावा पूरे प्रपत्र अद्यतन करेगा।

आप एक को छोड़कर एक निश्चित घटक के एक सभी बच्चों को अद्यतन करने, आसपास के घटक के आईडी (या एक वर्ग या ...)

<h:form id="form"> 
    <h:panel id="myPanel"> 
     <h:inputText ... /> 
     <h:inputText ... /> 
     <h:inputText ... styleClass="noupdate" /> 
    </h:panel> 
    <h:inputText ... /> 
    <h:inputText ... /> 
    <p:commandButton ... update="@(form :not(.noupdate))"/> 
</h:form> 

<p:commandButton ... update="@(#form\:myPanel :not(.noupdate))"/> 

द्वारा 'फॉर्म' की जगह ले चाहते हैं बस आप यह सुनिश्चित कर लें पूर्ण क्लाइंट-साइड आईडी का उपयोग करें।

+0

आपके उत्तर के लिए धन्यवाद! मुझे पता नहीं था कि jQuery चयनकर्ताओं का उपयोग प्राइमफ़ेस अपडेट विशेषता में किया जा सकता है। – Pranjali

+0

आपका स्वागत है। – BalusC

+0

क्या वाक्यविन्यास पृष्ठ पर अन्य रूपों को भी सबमिट करेगा? –

संबंधित मुद्दे