如何使用 JavaScript 获取 JSF 表数据
how to use javascript to get jsf table data?
我从支持bean ArrayList填充了jsf数据表。现在我需要将值与表的一列中的值进行比较,我该怎么做?
我的数据表:
<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);
}
这不是 JSF 问题。这与使用纯 HTML 时没有什么不同。JavaScript 不适用于 JSF 源代码,而仅适用于其生成的 HTML 输出(正如您可以通过右键单击并在浏览器中查看源代码看到的那样)。您的具体错误是您使用了返回<td>
的整个 HTML 内容的element.innerHTML
,而不是首先从<td>
获取 <input>
元素,然后再从其 value
属性获取。
这应该给你<td>
的第一个<input>
元素的值,为简洁起见省略了预检查:
var value = col.getElementsByTagName("input")[0].value;
我只想知道在JavaScript而不是JSF中做这一切的用处。
相关文章:
- JSF数据表分页中的当前页码
- 为什么分页数据表JQuery没有'不要使用JSF ui:重复
- 自动选择 JSF 数据表中的 H:复选框
- 将 Jquery 事件附加到 JSF 数据表
- 使用大型数据形式处理 jsf ajax 请求
- 如何使用 JavaScript 获取 JSF 表数据
- 突出显示 JSF 数据表的行
- 如何对数据表中的列进行排序.JSF 2.0
- jsf数据表inputText javascript事件未被激发
- 如何在jsf中鼠标悬停时高亮显示扩展数据表的行
- 富数据表突出显示JSF中的一列,并且一次只突出显示一列
- 如何从 JSF 中的 html 组件将数据发送到服务器
- 用Javascript处理来自JSF Ajax的数据响应
- 抓取值的问题,jsf数据表
- 日历在数据JSF 2.0中
- 在jsf中使用json将数据从bean发送到javascript
- 如何突出显示JSF数据表中的特定行
- JSF数据表过滤:占位符
- 在JSF 2.0应用程序中,我如何从ManagedBean获得大量数据到我的javascript代码中?
- 标签更改后,jsf中无法刷新数据表