Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.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
Javascript 禁用命令按钮,直到勾选复选框_Javascript_Jquery_Jsf_Jsf 2 - Fatal编程技术网

Javascript 禁用命令按钮,直到勾选复选框

Javascript 禁用命令按钮,直到勾选复选框,javascript,jquery,jsf,jsf-2,Javascript,Jquery,Jsf,Jsf 2,我知道这个问题非常简单,但我找到的所有答案都涉及到使用javascript,我想知道是否有更好的方法来解决这个问题 <p:selectBooleanCheckbox id="Markconfirm" value="#{markingBean.markToEdit.markingCompleted}"/> </p:panelGrid>

我知道这个问题非常简单,但我找到的所有答案都涉及到使用javascript,我想知道是否有更好的方法来解决这个问题

<p:selectBooleanCheckbox  id="Markconfirm"
                                              value="#{markingBean.markToEdit.markingCompleted}"/>


                </p:panelGrid>
                <p:button id="back"
                          value="back"
                          outcome="/cohort-coordinator/marking/view-all-marks"
                          icon="ui-icon-arrowthickstop-1-w"/>

                <p:commandButton id="confirm"
                                 value="Confirm"
                                 actionListener ="#{markingBean.editMark}"
                                 update=":growl"
                                 icon="ui-icon-disk"/>
我想禁用确认按钮,直到勾选了上面的复选框,我如何才能做到这一点,然后如果勾选并取消勾选,它将返回禁用状态

<p:selectBooleanCheckbox  id="Markconfirm"
                                              value="#{markingBean.markToEdit.markingCompleted}"/>


                </p:panelGrid>
                <p:button id="back"
                          value="back"
                          outcome="/cohort-coordinator/marking/view-all-marks"
                          icon="ui-icon-arrowthickstop-1-w"/>

                <p:commandButton id="confirm"
                                 value="Confirm"
                                 actionListener ="#{markingBean.editMark}"
                                 update=":growl"
                                 icon="ui-icon-disk"/>

在支票簿中添加一个ajax事件,以禁用或启用boutton

<p:selectBooleanCheckbox  id="Markconfirm"
                                              value="#{markingBean.markToEdit.markingCompleted}"/>


                </p:panelGrid>
                <p:button id="back"
                          value="back"
                          outcome="/cohort-coordinator/marking/view-all-marks"
                          icon="ui-icon-arrowthickstop-1-w"/>

                <p:commandButton id="confirm"
                                 value="Confirm"
                                 actionListener ="#{markingBean.editMark}"
                                 update=":growl"
                                 icon="ui-icon-disk"/>
<p:selectBooleanCheckbox  id="Markconfirm" value="#{markingBean.markToEdit.markingCompleted}">
    <p:ajax event="change" update="confirm" /> 
 </p:selectBooleanCheckbox>


 <p:commandButton id="confirm"
                             value="Confirm"
                             disabled="#{markingBean.markToEdit.markingCompleted}"
                             actionListener ="#{markingBean.editMark}"
                             update=":growl"
                             icon="ui-icon-disk"/>    

通过Javascript执行以下操作: 将widgetVar添加到您的
让我们称之为
confirButtonWV

<p:selectBooleanCheckbox  id="Markconfirm"
                                              value="#{markingBean.markToEdit.markingCompleted}"/>


                </p:panelGrid>
                <p:button id="back"
                          value="back"
                          outcome="/cohort-coordinator/marking/view-all-marks"
                          icon="ui-icon-arrowthickstop-1-w"/>

                <p:commandButton id="confirm"
                                 value="Confirm"
                                 actionListener ="#{markingBean.editMark}"
                                 update=":growl"
                                 icon="ui-icon-disk"/>
<p:commandButton widgetVar="confirmButtonWV" disabled="true" id="confirm" value="Confirm" actionListener ="#{markingBean.editMark}" update=":growl" icon="ui-icon-disk"/>
然后使用下一个脚本:

<p:selectBooleanCheckbox  id="Markconfirm"
                                              value="#{markingBean.markToEdit.markingCompleted}"/>


                </p:panelGrid>
                <p:button id="back"
                          value="back"
                          outcome="/cohort-coordinator/marking/view-all-marks"
                          icon="ui-icon-arrowthickstop-1-w"/>

                <p:commandButton id="confirm"
                                 value="Confirm"
                                 actionListener ="#{markingBean.editMark}"
                                 update=":growl"
                                 icon="ui-icon-disk"/>
 <script>
 $(document).ready(function() {
     markConfirmWV.jq.on('click', function() {
         var confirmButton = confirmButtonWV.jq;
         if (confirmButton.is(":disabled")) {
              confirmButton.removeAttr('disabled').removeClass('ui-state-disabled');
         } else {
              confirmButton.attr('disabled', 'disabled').addClass('ui-state-disabled');
         }
     });
 });
 </script>

$(文档).ready(函数(){
markConfirmWV.jq.on('click',function(){
var confirButton=confirButtonWv.jq;
如果(confirButton.is(“:disabled”)){
confirButton.removeAttr('disabled').removeClass('ui-state-disabled');
}否则{
confirButton.attr('disabled','disabled').addClass('ui-state-disabled');
}
});
});

我担心如果不使用javascript,就没有办法了。:/谢谢,当它被勾选并且我取消勾选时,命令按钮工作正常,但当它被取消勾选时,命令按钮则处于活动状态,当勾选时,命令按钮被禁用,有什么想法吗?@user2962401是,原因是第一次调用时,
markingBean.markToEdit.markingCompleted
尚未初始化=>
disabled=“#{null}”
。因此,将其初始化为false。