2015-06-14 35 views
0

我正在用Primefaces 4.0,JSF Mojarra 2.1.7和jBoss_7.1.1_Final開發。p:spinner p:ajax和f:param混合在一起,bean方法執行多次

我創建的工具主要是顯示動態列(號碼:列)一個DataTable一個對話窗口

這些動態顯示的欄pSpinner這樣的:



         <p:spinner id="updateQj_#{colIndex}_#{rowQj.idQbt}" widgetVar="updateQjJs_#{colIndex}_#{rowQj.idQbt}" stepFactor="1" min="0" max="#{rowQj.qbtType}" 
                value="#{rowQj.quantiteDuJour(qjColonne.property)}" onkeydown="return false;" 
                styleClass="editQj" rendered="#{not verrouille}" title="Cliquez ici pour modifier la quantité journalière" > 

              <p:ajax listener="#{recherche.updateQj}" update="@this, :formRecherche:growl" process="@this"/> 
              <f:param name="idQbt" value="#{rowQj.idQbt}"/> 
              <f:param name="jour" value="#{qjColonne.property}"/> 
              <f:param name="ligne" value="#{rowIndex}"/> 
              <f:param name="colonne" value="#{colIndex}"/> 
             </p:spinner>           
           </p:column>            
          </p:columns>  

一切似乎都工作正常,直到某些未知的原因,其中一列中的點擊修改當前值加上前一個在另一欄中更新。清楚地看到它:如果我不斷點擊/更新同一列中的spinners,一切正常。如果我點擊另一列的微調,它會同時更新。任何想法將不勝感激。

+0

嘗試使用較新的PF版本? – Kukeltje

+0

是的,我想,只是這不是合同可能的......我很厭倦,謝謝 – alaakaazaam

+0

你可以隨時嘗試。只是爲了看看它是否在新版本中得到修復。如果是這樣,您可以隨時嘗試修補當前版本。我沒有說明你應該在生產中使用它 – Kukeltje

回答

0

在primefaces4,p:spinner中,p:columns> p:column的行爲並不像它應該那樣,首先點擊工作,但在某個時刻,一個簡單的點擊就會生成不間斷的ajax調用,就好像我點擊了每個spinner在每個單元格...經過幾天的解決方法,並認爲pf使用jquery的封面下我自己嘗試過。令人驚訝的是,螢火蟲控制檯登錄'微調不是一個函數'和jquery.ui.version是1.10.3所以我下載1.10.4 jquery的網站,並將其包含在我的標題後其他javascripts。 jquery.ui.version顯示1.10.4,並沒有更多的錯誤信息出現。 :) 最後,我寫在每個p:列p:數據表中的列:

<input id="updateQj_#{rowIndex}_#{colIndex}_#{rowQj.idQbt}" widgetVar="updateQjJs" class="editQj"  value="#{rowQj.listeDesQj[colIndex].quantiteRealisee}"> ‌​ 
</input> 
<script type="text/javascript"> 
    jQuery("input[id=updateQj_#{rowIndex}_#{colIndex}_#{rowQj.idQbt}]") 
    .spinner‌​({ min:0, 
       max:#{rowQj.qMax}, 
       step:1, 
       change:function(){ rmt_updateQj([parameters]); } }); 
</script> 
+0

謝謝,但請添加一些文字,爲什麼你這樣解決它,如何以及爲什麼你更新PF jquery(如評論中提到的),並格式化代碼,使其可讀性爲 – Kukeltje

+0

在您的答案請...不作爲評論 – Kukeltje