根据asp.net 叶面中的readiobuttonlist的选项 控制textbox是否只读(后台是c#,前台用的asp.net)。如果直接在asp.net中,设置readiobuttonlist的autopost为true后,根据readiobuttonlist来关联控制textbox是否为只读,会引起叶面刷新。
现在要实现无刷新关联控制。所以要用js。具体因该怎样处理,请大家指点一下,谢谢。

解决方案 »

  1.   

    给readiobuttonlist添加onclick事件
      

  2.   

    document.getElementById("<%ID%>").disabled=true;
      

  3.   

    function fn_GetRadioButtonListInfo()
    {
        //取得RadioButtonList的集合
        var radListItems = document.all("RadioButtonList3");
        var radListItesCount = radListItems.length - 1 ;
    //     alert("Item个数"+radListItesCount);
        var radListCheckedValue = "";
        //遍历Item的Text和Value
        for(var i = 1; i <=   radListItesCount ; i++ )
        {
            if(radListItems[i].checked)
                 radListCheckedValue = radListItems[i].value;
            
         }
         
         
          if(radListCheckedValue =="现金")
                 {
                 alert("现金 ");
                 var txtBox17=document.getElementById("TextBox17"); 
                 txtBox17.readOnly=false;
                 
                 
                 }  
                 else
                 {
                 alert("非现金");
                 }
         
         
             return false;
    }这是我的函数,没有起作用
      

  4.   

    叶面中有一个RadioButtonList(里面有3项,其中一项为“现金“,一项为“第三方”,默认“第三方”),还有一个textbox(默认只读),现在我想实现无刷新的联动控制,当RadioButtonList值为“现金“时,textbox要可以录入数据,当RadioButtonList值不为“现金“时textbox要只读。
      

  5.   

    function fn_GetRadioButtonListInfo()
    {
        //取得RadioButtonList的集合
        var radListItems = document.all("RadioButtonList3");
        var radListItesCount = radListItems.length - 1 ;
    //     alert("Item个数"+radListItesCount);
        var radListCheckedValue = "";
        //遍历Item的Text和Value
        for(var i = 1; i <=   radListItesCount ; i++ )
        {
            if(radListItems[i].checked)
                 radListCheckedValue = radListItems[i].value;
            
         }
              
          if(radListCheckedValue =="现金")
                 {
                 var txtBox17=document.getElementById("TextBox17"); 
                 txtBox17.readOnly=false;             
                 }  
                 else
                 {
                  var txtBox17=document.getElementById("TextBox17"); 
                  txtBox17.readOnly=true;
                 }           return false;
    }ok 了
      

  6.   

    我这停电了,刚上来
     <asp:RadioButtonList ID="RadioButtonList1" runat="server" onclick="bb()">
            <asp:ListItem Value="0">现金</asp:ListItem>
               <asp:ListItem Value="1" Selected="True">第三方</asp:ListItem>
            </asp:RadioButtonList>
            <asp:TextBox ID="TextBox2" runat="server" Enabled="False"></asp:TextBox>
     function bb() {
            var obj = document.getElementById("RadioButtonList1");
            for (var i = 0; i < obj.cells.length; i++) {
                var r = document.getElementById("RadioButtonList1_" + i.toString());
                if (r.checked) {
                    if (r.value == "0") {
                        document.getElementById("TextBox2").disabled = false;
                    }
                    else {
                        document.getElementById("TextBox2").disabled = true;
                    }
                    return;
                }
            }
        }
      

  7.   

    谢谢老师,如果用我的方法(#9楼 ),但是我还有一个问题:
    asp.net的叶面中,我想用这个函数进行自动判断,也就是说:我不想再添加button或者其它控件(触发onclick用的),我在asp.net 的aspx叶面如何调用该函数?也就是说,只要在RadioButtonList1里面选择了“现金”,TextBox17就会自动变为可以录入数据状态。实际上是如何调用该函数。我是蔡鸟,没用过js.
      

  8.   

    直接在RadioButtonList1添加onclick方法
    我在10楼写得有