簡體   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