gpt4 book ai didi

jsf - selectBooleanCheckbox 的标签 'for' id 是什么

转载 作者:行者123 更新时间:2023-12-03 02:39:01 25 4
gpt4 key购买 nike

如何引用outputLabel中的每个单独的复选框,以便当我单击项目的标签时,它实际上与单击该复选框相同?

<rich:dataGrid value="#{all}" var="item" columns="3">
<h:outputLabel value="#{item.name}" for="what_here?" />
<h:selectBooleanCheckbox value="#{item.selectedForLaterUse}" id="item#{item.id}" />
</rich:dataGrid>

首先想到的一种可能性当然是

  for="item#{item.id}"

但是由于 jsf id 是相对的,所以它不起作用,对吧?

还有一个选项可以使用 selectManyCheckbox,但这似乎没有提供使用列的选项。

最佳答案

您不需要这样做。 JSF 会为您做到这一点。只要指定一个固定的ID,只要在同一范围内即可。

<rich:dataGrid value="#{all}" var="item" columns="3">
<h:outputLabel value="#{item.name}" for="item" />
<h:selectBooleanCheckbox value="#{item.selectedForLaterUse}" id="item" />
</rich:dataGrid>

JSF 将相应地生成正确的 HTML。在浏览器中打开页面,右键单击并执行查看源代码来亲自查看。在这种特殊情况下,生成的 HTML 元素 ID 由所有父元素 NamingContainer 组成。组件和当前项目索引。

这是生成的输出的示例,假设您给出所有 NamingContainer组件有一个固定的 ID,如 <h:form id="form"><rich:dataGrid id="grid"> (否则 JSF 将自动生成 ID,如 j_idt1 等,这也可以正常工作,但不能立即读取):

<table id="form:grid" class="rf-dg">
<tbody id="form:grid:dgb" class="rf-dg-body">
<tr class="rf-dg-r">
<td class="rf-dg-c">
<label for="form:grid:0:item">one</label>
<input id="form:grid:0:item" type="checkbox" name="form:grid:0:item" />
</td>
<td class="rf-dg-c">
<label for="form:grid:1:item">two</label>
<input id="form:grid:1:item" type="checkbox" name="form:grid:1:item" />
</td>
<td class="rf-dg-c">
<label for="form:grid:2:item">three</label>
<input id="form:grid:2:item" type="checkbox" name="form:grid:2:item" />
</td>
</tr>
</tbody>
</table>

关于jsf - selectBooleanCheckbox 的标签 'for' id 是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7339125/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com