2012-10-04 20 views
-1

我已经创建了一个Web窗体,其中我有一些特定的字段,如名称,年龄和两个单选按钮列表(必需和ID)。我想启用禁用某个单选按钮列表的“必需”值的某些字段。 “必需的”Radibuttonlist有两个项目,“是”,“否”。如果我选择是,那么某些字段应该被禁用,反之亦然。如何在Asp.net中使用Java脚本禁用单选按钮列表?

我能够禁用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”。我将如何实现它。我必须单独处理它的价值吗?

回答

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; 
      } 
     } 
    } 
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。

相关问题