2011-12-29 60 views
0

我有一个属于同一组的2个单选按钮。 asp网络单选按钮不是常规的输入类型单选按钮。选中单选按钮会导致在asp.net中启用文本框

如果第一个单选按钮被选中,它旁边的文本框将被启用。否则它将被禁用。 我已经看到了使用JQUERY的输入类型单选按钮。到目前为止我还无法将该代码适用于我的asp.net控件。

我需要它2是JavaScript,而不是在代码后面。

有什么建议吗?

谢谢!

这里是我的代码

<table> 
<tr> 
    <td> 
           <asp:RadioButton ID="SiteLicenseRBN" runat="server" Checked="True" 
            GroupName="users" resourcekey="SiteLicenseRBN" 
            Text="Site License" TextAlign="Left" Font-Bold="True" /> 
          </td> 

          <td> 
           <asp:RadioButton ID="ConcUsersRBN" runat="server" GroupName="users" 
            Text="Conc. Users" TextAlign="Left" 
            resourcekey="ConcUsersRBN" Font-Bold="True" 
            /> 
           <asp:TextBox ID="nuserstbx" runat="server" Enabled="False" 
            Width="71px"></asp:TextBox> 
          </td> 
</tr> 
</table> 

如果第二单选按钮被选中(加浓的用户),然后nuserstbx必须启用,否则应禁用。

+0

你需要提供一点您的标记,也许你已经尝试去适应你发现 – 2011-12-29 13:17:40

回答

0

这是一个快速的基本示例。所有文本框都被禁用。但是当你点击第一个单选按钮时,它会使它旁边的texbox处于活动状态。

HTML

<span id="radiobutt"> 
    <input type="radio" name="rad1" value="1" /> 
    <input type="text" id="textbox1" disabled="disabled"/> 
    <br/> 
    <input type="radio" name="rad1" value="2" /> 
    <input type="text" id="textbox2" disabled="disabled"/> 
    <br/> 
    <input type="radio" name="rad1" value="3" /> 
    <input type="text" id="textbox3" disabled="disabled"/> 
</span> 

的Javascript

$$("#radiobutt input[type=radio]").each(function(i){ 
    $(this).click(function() { 
     if(i==0) { 
       $("#textbox1").removeAttr("disabled"); 
       $("#checkbox1").removeAttr("disabled"); 
     } 
     else { 
       $("#textbox1").attr("disabled", "disabled"); 
       $("#checkbox1").attr("disabled", "disabled"); 
     } 
     }); 
    }); 

也可以查看这里的工作示例

http://jsfiddle.net/fqueT/1/

+0

的代码是什么我已经知道这一点,谢谢!我需要它的asp.net控件不是简单的输入类型单选按钮。我需要它2 ASP的工作:RadioButton – Ghassan 2011-12-29 13:30:46

+0

@Ghassan Asp:RadioButtons呈现在浏览器上就像简单的输入类型单选按钮。是的框架可能会给他们不同的ID,但他们仍然会以 Bobby 2011-12-29 13:34:37

+0

的形式谢谢Bobby! – Ghassan 2011-12-29 13:42:15

1

Somethi纳克这样的:

<form name="myform"> 
<input type="radio" name="radios" onclick="rtest(this)" value="R1"/> 
<input type="text" disabled="disabled" name="t1"/> 

<input type="radio" name="radios" onclick="rtest(this)" value="R2"/> 
<input type="text" disabled="disabled" name="t2"/> 

<input type="radio" name="radios" onclick="rtest(this)" value="R3"/> 
<input type="text" disabled="disabled" name="t3"/> 
</form> 

<script> 
function rtest(r){ 
    var allinputs = document.myform.elements; 
    for(var i=0; i < allinputs.length; i += 1){ 
     if (allinputs[i].type === "text"){ 
      if (allinputs[i].previousElementSibling.checked){ 
       allinputs[i].removeAttribute("disabled"); 
      }else{ 
       allinputs[i].disabled = "disabled"; 
      } 
     } 
    } 
} 
</script> 

http://jsfiddle.net/HjLeH/

相关问题