0

我有一个数据表,其中第一列和第二列是复选框,第一列是多选,第二列是单选,我已经完成了,现在我必须在用户单击默认的第二个复选框时自动选择第一个 chckbox。因为我是 javascript 新手,请协助。下面是我的数据表

<h:dataTable value="#{roundingBean.elementDetailsDTOList}" var="v"  styleClass="updateitem">
<h:column>
    <f:facet name="header"> Select</f:facet>
        <h:selectBooleanCheckbox id="checkBox" value="#{v.isCheckBoxSelected}"  />
</h:column>

<h:column>
    <f:facet name="header"> Default Category</f:facet>
    <h:selectBooleanCheckbox id="radio" value="#{v.isRadioSelected}"  onclick="dataTableSelectOneRadio(this);"/> 
</h:column>

<h:column>
    <f:facet name="header"> Category</f:facet>
        #{v.categoryName}
    </h:column>

4

2 回答 2

0

你将不得不在这里得到 css 和 jquery 的帮助。如果您在 ElementDetailsDTO 中有一个唯一的 id 变量,请使用它为复选框定义一个 css 类。

<h:selectBooleanCheckbox id="checkBox" value="#{v.isCheckBoxSelected}" styleClass="#{v.id}StyleClass" />

然后对于单选按钮,添加一个 onselect 属性,如下所示

<h:selectBooleanCheckbox id="radio" value="#{v.isRadioSelected}"  onclick="$('.#{v.id}StyleClass').prop('checked',true)"/> 

不建议使用 id 属性来获取数据表中的元素,因为在生成的实际 html 中,这些 id 将以表 id 和列 id 为前缀。

于 2013-10-29T08:45:26.530 回答
0

你可以这样做:

<h:selectBooleanCheckbox id="checkBox" value="#{v.isCheckBoxSelected}" onclick="document.getElementById("radio").checked = true;" />
于 2013-10-25T07:15:35.917 回答