バッキング Bean ArrayList から jsf データテーブルを作成しました。ここで、テーブルの 1 つの列の値と値を比較する必要があります。これを行うにはどうすればよいですか?
私のデータテーブル:
<t:dataTable var="tabl"
rowIndexVar="rownum"
id="data"
value="#{bean.sortedList}"
>
......... データを比較したい列:
<t:column>
<f:facet name="header">
<h:commandLink>
<h:outputText value="sortedList"/>
</h:commandLink>
</f:facet>
<f:verbatim> </f:verbatim>
<h:inputText value="#{tabl.numbers}"
id="numbers">
</h:inputText>
</t:column>
私のテーブル構造:
<tbody id="myForm:data:tbody_element">
<tr>
...
<td> <input id="myForm:data:0:workAreaNumberU" name="myForm:data:0:workAreaNumberU" type="text" value="0001" size="4" onkeyup="value_altered(0);"></td>
</tr>
....
<tr>
...
<td> <span id="_idJsp1:data:1:workAreaNumber">0104</span></td>
...
</tr>
</tbody>
最終的にこの方法で解決しました(私のテーブル構造に基づいています)
var table = document.getElementById("myForm:data:tbody_element");
var new_wa;
for (var i = 0, row; row = table.rows[i]; i++) {
var new_wa_box = document.getElementById("myForm:data:" + i + ":workAreaNumberU");
if( new_wa_box != null ) {
new_wa = new_wa_box.value;
}else{
new_wa_box = document.getElementById("myForm:data:" + i + ":workAreaNumber");
new_wa = new_wa_box.innerHTML;
}
alert("row new_wa_box = "+new_wa);
}