问题描述:绑定时为checkbox添加一个属性
页面上有2个checkbox
cbAvailable,cbDefault
加载页面时为其绑定属性
cbAvailalbe.Attributes.Add("onclick", "SelectSubscription('" + cbAvailalbe.ClientID + "','" + cbDefault.ClientID + "')");
cbDefault.Attributes.Add("disabled","true");要实现的功能:如果cbAvailable选中时 cbDefault的disabled=false,否则为true(置灰)。现在问题:如果初始化的时候不设disabled=true,则点击cbAvailable可以改变cbDefault的状态,但是初始化设置disabled=true,它会在cbDefault外层加一个<span disabled="true"> 这样就没法修改cbDefault的状态,请各位帮忙看看怎么解决。cbAvailable处理代码如下:
    function SelectSubscription(cbAvailable,cbDefault)
    {
        var left=document.getElementById(cbAvailable);
        var right=document.getElementById(cbDefault);
        var selectState=left.checked;
        if(left.checked==false)
        {          
            left.checked!=selectState;
            right.checked=false;
            right.disabled=true;   
        }
        else
        {   
            left.checked!=selectState; 
            right.disabled=false;        
        }
    }

解决方案 »

  1.   

    最终会生成如下html代码,不知道要如何修改<span disabled="true"><input id="ctl00_cphNSPrototype_repSubscription_ctl01_cbDefault" type="checkbox" name="ctl00$cphNSPrototype$repSubscription$ctl01$cbDefault" /></span>
      

  2.   

    CheckBox的封装也许有点问题,试一下<input type="checkbox" runat="server" .../>
      

  3.   

    checkbox一直就这样的,别管它,都知道ID了还不能控制可用与否吗?
      

  4.   

    你可以这样啊<span disabled="true">
    <input id=x type=checkbox>
    </span>
    <input onclick="x.parentNode.disabled=false;x.disabled = !x.disabled;x.parentNode.disabled=false;" type="button" value="改变状态">
      

  5.   

    多谢net_lover(【孟子E章】) 指点。但是为什么firefox里默认设成disabled不变灰而在ie里就可以。