繁体   English   中英

用Javascript编辑Primefaces数据表的单元格

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM