2017-06-30 7 views
0

私はカスタムレイアウトselectoneradioでデータテーブルを得ました。それは、最初の行の後に正しい値を送信しません。Primefaces Datatableラジオボタン間違った値を送信

これはデータテーブルである:

<h:form id="dataTableForm"> 
     <br /> 
     <p:dataTable id="absenceTable" var="absence" widgetVar="absenceTable" 
      value="#{adminController.absenceList}" rowIndexVar="rowIndex" 
      emptyMessage="Keine Absenzen mit ausstehender Genehmigung gefunden" 
      style="width:70%;margin-left:15%;margin-right:15%;margin-bottom:20px;margin-top:10px;" 
      rowKey="#{absence.id}" rows="30" paginator="true" 
      paginatorPosition="bottom" paginatorAlwaysVisible="false" 
      paginatorTemplate="{PageLinks}" sortBy="#{absence.startDate}" 
      sortOrder="descending" 
      filteredValue="#{adminController.filteredAbsences}"> 
      <f:facet name="header">Mitarbeiterabsenzen mit ausstehender Genehmigung</f:facet> 
      <p:column> 
      <p:selectOneRadio id="action" value="#{absence.status}" required="false" 
       layout="custom" > 
       <f:selectItem itemValue="PENDING" noSelectionOption="true" /> 
       <f:selectItem itemValue="APPROVED" /> 
       <f:selectItem itemValue="REJECTED" /> 
       <p:ajax event="valueChange" immediate="true" listener="#{adminController.checkBoxListener}" /> 
      </p:selectOneRadio> 
      </p:column> 
      <p:column width="20"> 
       <p:radioButton for="action" itemIndex="0" /> 
      </p:column> 
      <p:column width="20"> 
       <p:radioButton for="action" itemIndex="1" /> 
      </p:column> 
      <p:column width="20"> 
       <p:radioButton for="action" itemIndex="2" /> 
      </p:column> 
      <f:facet name="footer"> 
       <p:commandButton value="Speichern" 
        action="#{adminController.save()}" update="absenceTable" /> 
      </f:facet> 
     </p:dataTable> 
    </h:form> 

行インデックスおよび不在ループ変数がデータテーブルに定義されています。

すべてが同じ形式です。

問題は、どういうわけか、最初の行でのみ機能します。他の行は値の代わりに "on"を送信します。これは何です...

generated output

私はそのつもりは愚かな構文の問題か何かであることを推測:私は、彼らは最初の行のラジオボタンのように値タグが設けられていない生成されたHTMLで見られます私は、最初の行以外のものをクリックしてデバッグを取得: debug event listener event

Imはこのコードがsmooを実行PF5.2

のバグであるPF 5.2

+0

「生成された」ラジオボタンのidを削除することから始めます。彼らは 'index'接頭辞automaticalltyを取得する必要があります。そして、常に[mcve]を投稿しようとします。 'looping'は現在表示されていません – Kukeltje

+0

idsが削除されました。私は質問を厳しく更新しました。 –

+0

for = "dataTableForm:absenceTable:#{rowIndex}:action"を "for =" action "'に変更してみてください。 JSFが索引付けを行います。 (widgetIdの以外にも)PFですが、JSFではなく – Kukeltje

答えて

0

上で実行されていますthly on PF5.3

+0

問題が発生した場合は、次回は**常に** [mcve]を作成し、常に新しいバージョンをお試しください。 – Kukeltje

関連する問題