繁体   English   中英

如何使用JavaScript禁用Rich:inputNumberSpinner

[英]How to disable a rich:inputNumberSpinner with javascript

我试图用javascript控制组件的形式。 但是rich:iputNumberSpinner组件不能使用javascript禁用或启用。

这是我的情况的示例:

<SCRIPT language="JavaScript">
function typeChange(){
    var element=document.getElementById("form2:hour");
    var element2=document.getElementById("form2:check");
if(document.getElementById("form2:type").value==1){
    element.disabled=true;
    element2.disabled=true;
    }
else{
    element.disabled=false;
    element2.disabled=false;
    }

}
</SCRIPT>

        <h:selectOneMenu id="type" onchange="typeChange()">
            <f:selectItem itemValue="0" itemLabel="0" />
            <f:selectItem itemValue="1" itemLabel="1" />
            <f:selectItem itemValue="2" itemLabel="2" />
            <f:selectItem itemValue="3" itemLabel="3" />
        </h:selectOneMenu>
        <rich:inputNumberSpinner id="hour" />
        <h:selectBooleanCheckbox id="check" />

等待您的帮助

似乎没有为此的公共API,但是基于inputNumberSpinner.js代码,可以像这样禁用它:

禁用:

var component = RichFaces.$('id');

if (!component.input.attr('disabled')) {
    component.input.attr('disabled', true);
    component.originalIncrease = component.increase;
    component.increase = function() {}
    component.originalDecrease = component.decrease;
    component.decrease = function() {}
}

启用:

var component = RichFaces.$('id');
component.input.attr('disabled', false);
if (component.originalIncrease) {
    component.increase = component.originalIncrease;
    component.originalIncrease = null;
}
if (component.originalDecrease) {
    component.decrease = component.originalDecrease;
    component.originalDecrease = null;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM