-1

我创建了一个 Web 表单,其中包含某些字段,例如姓名、年龄和两个单选按钮列表(必填和 ID)。我想在一个单选按钮列表“必需”的值上启用禁用某些字段。“必需”单选按钮列表有两个项目,“是”、“否”。如果我选择是,那么某些字段应该启用禁用,反之亦然。

我可以禁用 texboxes,但是我无法禁用单选按钮列表“ID”,该列表必须将其中的项目列为 taxId 和 PAN。我已经使用了以下代码

function EnableDisableID() {

        if (document.getElementById("<%=rdID.ClientID %>") != null) {

            var IDList = document.getElementById('<%= rdID.ClientID  %>');


            var isOpenID;

            if (IDList != null) {

                var openSubID = IDList.getElementsByTagName("input");

                for (var i = 0; i < openSubID.length; i++) {

                    if (openSubID[i].checked) {

                        openSubID = openSubID[i].value;
                     }
                }
            }
            if (openSubID == 'true') {                    
                document.getElementById('<%=fbo1RadioButtonList.ClientID %>').disabled = false;
                document.getElementById('<%=txtFbo1TaxId.ClientID %>').disabled = false;

            }
            if (isOpenSubAccount == 'false') {

                alert("Printing..." + isOpenSubAccount);
                document.getElementById('<%=fbo1RadioButtonList.ClientID %>').disabled = true;
                document.getElementById('<%=txtFbo1TaxId.ClientID %>').disabled = true;
            }
        }
    }

我可以禁用 FBO1TaxId,但是,我无法禁用单选按钮列表“fbo1RadioButtonList”。我将如何实现它。我必须单独对待它的价值吗?

4

2 回答 2

0

我得到了答案。我稍微玩了一下我的代码并得出了以下解决方案:

function EnableDisableTaxID() {

        if (document.getElementById("<%=rdOpeningSubAccount.ClientID %>") != null) {

            var openSubAccountList = document.getElementById('<%= rdOpeningSubAccount.ClientID  %>');
            var rdFbo1TaxId = document.getElementById('<%=fbo1RadioButtonList.ClientID %>');
            var rdFBO1Items = rdFbo1TaxId.getElementsByTagName('input'); 

            var isOpenSubAccount;

            if (openSubAccountList != null) {

                var openSubAccount = openSubAccountList.getElementsByTagName("input");

                for (var i = 0; i < openSubAccount.length; i++) {

                    if (openSubAccount[i].checked) {

                        isOpenSubAccount = openSubAccount[i].value;                            
                    }
                }
            }               
            if (isOpenSubAccount == 'true') {
                for (var i = 0; i < rdFBO1Items.length; i++) {
                    rdFBO1Items[i].disabled = false; 
                }        
               document.getElementById('<%=txtFbo1TaxId.ClientID %>').disabled = false;

            }
            if (isOpenSubAccount == 'false') {

                for (var i = 0; i < rdFBO1Items.length; i++) {
                    rdFBO1Items[i].disabled = true;
                }                     
                document.getElementById('<%=txtFbo1TaxId.ClientID %>').disabled = true;
            }
        }
    }
于 2012-10-04T07:04:06.653 回答
0

您将不得不遍历单选按钮并禁用每个单选按钮。如果您的按钮在表单中,并且您有对表单的引用,那么您可以使用按钮的通用名称来获取集合。循环遍历集合并设置每个按钮的disabled属性。

如果您可以启用或禁用按钮,则可以使用条件来设置值,例如:

var rbuttons = form.radioName;
var disabled = true;   // disables buttons, set to false to enable

for (var i=0, iLen=rbuttons.length; i<iLen; i++) {
  rbuttons[i].disabled = disabled;
}

要启用按钮,请将disabled变量设置为 false。

于 2012-10-04T07:04:17.097 回答