Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在jsf中选中另一个复选框时,取消选中该复选框_Jsf_Jsf 2_Checkbox_Primefaces - Fatal编程技术网

在jsf中选中另一个复选框时,取消选中该复选框

在jsf中选中另一个复选框时,取消选中该复选框,jsf,jsf-2,checkbox,primefaces,Jsf,Jsf 2,Checkbox,Primefaces,我有一个场景,如果我选中一个复选框,那么另一个复选框应该被取消选中 我正在使用JSF 我的代码: <p:dataTable> <p:column headerText="PAID"> <p:selectBooleanCheckbox value="#{bean.paid}" /> </p:column> <p:column headerText="NOT PAID">

我有一个场景,如果我选中一个复选框,那么另一个复选框应该被取消选中

我正在使用JSF

我的代码:

 <p:dataTable>
      <p:column headerText="PAID">
            <p:selectBooleanCheckbox value="#{bean.paid}" />
      </p:column>
      <p:column headerText="NOT PAID">
            <p:selectBooleanCheckbox value="#{bean.notPaid}"/>
       </p:column>
 </p:dataTable>

清晰视图:

 <p:dataTable>
      <p:column headerText="PAID">
            <p:selectBooleanCheckbox value="#{bean.paid}" />
      </p:column>
      <p:column headerText="NOT PAID">
            <p:selectBooleanCheckbox value="#{bean.notPaid}"/>
       </p:column>
 </p:dataTable>

我怎样才能做到这一点

成功了

我尝试了同样的方法,但是使用了

代码

<p:column id="paid" headerText="Paid">
    <p:selectBooleanCheckbox id="paidCheckBox" value="#{bean.paid}">
       <p:ajax update="notPaidCheckBox" listener="#{bean.onPaidStatusChange}" />
    </p:selectBooleanCheckbox>
</p:column>
<p:column id="notPaid" headerText="NotPaid">
    <p:selectBooleanCheckbox id="notPaidCheckBox" value="#{bean.notPaid}">
        <p:ajax update="paidCheckBox" listener="#{bean.onNotPaidStatusChange}" />
    </p:selectBooleanCheckbox>
</p:column>

@ManagedBean(name="bean")
@SessionScoped
public class Bean {
   private boolean paid;
   private boolean notpaid;

   @PostConstruct
   public void Bean() {
      this.paid= true;
   }

   public void onPaidStatusChange() {
      if (paid) notpaid= false;
   }

   public void onNotPaidStatusChange() {
      if (notpaid) paid= false;
   }
}

@ManagedBean(name=“bean”)
@会议范围
公共类Bean{
私人付费;
私家车不收费;
@施工后
公共voidbean(){
这是真的;
}
公共无效onPaidStatusChange(){
如果(已支付)未支付=错误;
}
公共无效onNotPaidStatusChange(){
如果(未支付)已支付=错误;
}
}

这很有效<代码>感谢J4mes先生的方法;-)

此UI通常通过单选按钮实现。为什么要使用复选框?是的,它可以通过单选按钮来完成,但我需要一个复选框视图。因为它可以通过jquery来完成,我正在研究是否可以通过JSF alsoYes实现同样的功能,当然这是可能的。只是想知道,因为非直观的用户界面,我不喜欢推荐糟糕的方法:)谢谢你@BalusC的意见!