2016-04-10 4 views
-1

Dears Ich habe ein Spinner-Feld und ich möchte aktualisieren, wenn der Client +/- drücken oder den Wert eingeben. Mit dem folgenden Code, wenn der Benutzer den Wert eingibt, wird auch das Ereignis change (default) ausgelöst. Hat das Feuer nur ein Ajax-Ereignis?Fire only nur Ereignis auf zwei p: ajax

<p:spinner value="#{cartView.cart[pentry.key]}" min="0" max="#{pentry.key.quantity}" size="7" required="true" converter="javax.faces.Long" > 
    <p:ajax update="@form" process="@this" onstart="PF('blockFreight').show();PF('blockPayment').show();PF('blockSummary').show();PF('blockProduct').show()" oncomplete="PF('blockFreight').hide();PF('blockPayment').hide();PF('blockSummary').hide();PF('blockProduct').hide()" /> 
    <p:ajax event="keyup" delay="500" update="@form" process="@this" onstart="PF('blockFreight').show();PF('blockPayment').show();PF('blockSummary').show();PF('blockProduct').show()" oncomplete="PF('blockFreight').hide();PF('blockPayment').hide();PF('blockSummary').hide();PF('blockProduct').hide()" /> 
</p:spinner> 
+0

Lösung ist einfach: Entfernen Sie die erste 'p: ajax' – Kukeltje

+0

Sehr geehrte Kukeltje, wenn ich die erste Aussage entfernen das Formular wird nicht aktualisiert, wenn der Benutzer auf +/- Schaltflächen klickt. –

+0

Was ist das eigentliche Problem mit zwei Ereignissen? Doppeltes Ein-/Ausblenden? – Kukeltje

Antwort

0

Ich denke, die beste Option hier ist das Entfernen der zweiten p: Ajax. In diesem Fall werden Ajax onblur (wenn der Wert geändert wurde) und onchange (durch Klicken auf den Pfeil nach oben oder den Pfeil nach unten) ausgelöst. Quelle: Spinner Showcase

Verwandte Themen