[英]Edit with Javascript a cell of a Primefaces DataTable
我有一个用PrimeFaces构建的不可编辑的数据表。 该表最初填充有通过Bean的getter获得的值:
<p:dataTable var="lndClient" value="#{clientBean.model}" rowKey="#{lndClient.stringId}">
加载表格后,我需要通过Javascript更新某些单元格。 这样做的原因是我正在使用cometD ,这是一种在客户端使用Javascript-JQuery的Ajax Push Technology模式。
我知道我可以使用类似的方法更新单元格
$('td#id').html("value");
但我的问题是我不知道我的牢房ID是什么。 查看生成的html,我看到这些行是:
<tr data-ri="1" class="ui-widget-content ui-datatable-odd"><td><div class="ui-dt-c"><a id="centerTabView:accordion:j_idt18:j_idt19:1:j_idt22" ...>
...
<tr data-ri="2" class="ui-widget-content ui-datatable-even"><td><div class="ui-dt-c"><a id="centerTabView:accordion:j_idt18:j_idt19:2:j_idt22" ...>
实际上,尽管在td
标签内,但行标识符td
那儿。 其他列是:
<td><div class="ui-dt-c">...</div></td>
因此,我的问题是:如何识别PrimeFaces数据表中的单元格?
如果可以按列索引和行ID引用单元格,则可以使用p:dataTable
rowStyleClass
属性。
例如,如果将其设置为rowStyleClass="#{lndClient.stringId}"
,则可以使用$('tr.xyz td:first-child+td+td')
来引用具有stringId xyz
的行的第三列$('tr.xyz td:first-child+td+td')
-我确定您可以提出更好的选择器。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.