Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.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 使用widgetVar,如何禁用或启用PrimeFaces selectOneButton_Javascript_Jquery_Jsf_Primefaces_Jsf 2 - Fatal编程技术网

Javascript 使用widgetVar,如何禁用或启用PrimeFaces selectOneButton

Javascript 使用widgetVar,如何禁用或启用PrimeFaces selectOneButton,javascript,jquery,jsf,primefaces,jsf-2,Javascript,Jquery,Jsf,Primefaces,Jsf 2,我使用PrimeFaces 6.1widgetVar来启用和禁用网页上的多个元素。我正在使用以下代码: JavScript/jQuery: PF('widget_select_one_button_1').getJQ().parent().removeAttr('disabled'); PF('widget_select_one_button_1')..getJQ().parent().attr("disabled", true); XHTML: <h:form id="form-1"&

我使用PrimeFaces 6.1
widgetVar
来启用和禁用网页上的多个元素。我正在使用以下代码:

JavScript/jQuery:

PF('widget_select_one_button_1').getJQ().parent().removeAttr('disabled');
PF('widget_select_one_button_1')..getJQ().parent().attr("disabled", true);
XHTML:

<h:form id="form-1">
  <p:selectOneButton id="button-1" value="#{search.drawings}">
    <f:selectItems value="#{search.drawings}" var="x" itemLabel="#{drawings}" itemValue="#{drawings}"/>
  </p:selectOneButton>
</h:form>

我已经验证了我使用的是正确的
widgetVar
,因为我能够启用和禁用
selectOneRadio
。当我决定将
selectOneRadio
更改为
selectOneButton
时,我找不到有关如何启用或禁用该元素的任何信息

我使用了上述JavaScript的多种变体。我尝试在
widgetVar
变量上调用
.enable()
/
.disable()
,然后使用jQuery对象尝试添加和删除
disabled
属性。我还对jQuery对象的父对象进行了相同的尝试(如上所示)


是否有人知道如何启用或禁用
selectOneButton

我使用css选择器通过这些元素的后代搜索所有单选输入,然后对每个项目应用禁用功能:

PF('yourWidgetVarName').getJQ().find('input[type="radio"]').each(function (index, element) { $(this).attr("disabled", true); });

请参阅:

禁用客户端是危险的。服务器端仍处于启用状态。客户端可以通过Javascript再次启用它,只是发布一些代码并没有太大帮助。你能解释一下你的代码吗?这样,其他人就可以理解并从你的答案中学习,而不仅仅是从web上复制和粘贴一些代码。PF('yourWidgetVarName')。enable()/PF('yourWidgetVarName')。disable()应该可以在selectOneButton上完美地工作;)@tandraschko不在PrimeFaces 6.1上,参见