JS获取checkboxlist的值

 

本来是想通过下面的代码给checkboxlist生成的checkbox项添加value值,可是通过测试无法实现;如果可以添加value值的话,用js获取值的代码也就容易实现了;
for (int i = 0; i < checkboxlis.tItems.Count; i++)
        {
            checkboxlist.Items[i].Attributes.Add("value",checkboxlist.Items[i].value);
        }

通过checkboxlist生成的html代码可以发现,每个checkbox的值都是紧跟后面的label,因此获取了label的text值就获取了checkbox的值了;测试的时候发现了js的nextSibling属性,nextSibling可以获取当前dom对象的下一个对象,这里正好用到;
下面是checkboxlist生成的html代码:
<input id="cblSiteStyle_0" type="checkbox" name="cblSiteStyle$0" οnclick="addKeyWord(this.id);" /><label for="cblSiteStyle_0">B2B</label></td><td><input id="cblSiteStyle_1" type="checkbox" name="cblSiteStyle$1" οnclick="addKeyWord(this.id);" /><label for="cblSiteStyle_1">B2C</label></td><td><input id="cblSiteStyle_2" type="checkbox" name="cblSiteStyle$2" οnclick="addKeyWord(this.id);" /><label for="cblSiteStyle_2">C2C</label></td><td><input id="cblSiteStyle_3" type="checkbox" name="cblSiteStyle$3" οnclick="addKeyWord(this.id);" /><label for="cblSiteStyle_3">B2G</label>

方法1:
js获取label的text值的函数,IE和FIREFOX都可以用
function addKeyWord(cbl)
    {
      var kw = document.getElementById("txtkeyWord");
      var kwv=kw.value;
      var cblv="";
      if(document.getElementById(cbl).checked)
          {
              cblv=document.getElementById(cbl).nextSibling.innerHTML;
              alert(cblv);
          }
    }

记得在cs代码里要给checkboxlist的checkbox项添加onclick事件
for (int i = 0; i < checkboxlist.Items.Count; i++)
        {
            checkboxlist.Items[i].Attributes.Add("onclick", "addKeyWord(this.id)");
        }

方法2:

<head runat="server">

<script language="javascript" type="text/javascript">
            function IsListCheck(postback)
            {

               //cblcomplain_Nature为checkboxlist的id

               var lst = document.getElementById('<%= cblcomplain_Nature.ClientID%>').getElementsByTagName('input');
               if(lst.length>0)
               {
                 for(var i=0;i<lst.length;i++)
                 {
                   if(lst[i].checked)
                   {
                       if(lst[i].nextSibling.innerHTML=='其他')
                       {
                         document.getElementById('span1').style.display='block';
                         if(postback=='true')//初始化时不改变TextBox1的样式
                         {
                             document.getElementById("TextBox1").style["backgroundColor"]="#FFCCCC";
                             document.getElementById("TextBox1").focus();
                         }
                       }
                       else
                       {
                            document.getElementById('span1').style.display='none';
                       }
                   }
                 }
               }
              
            }
    </script>

</head>

<body οnlοad="javascript:IsListCheck('false');">//初始化加载js方法
    <form id="form1" runat="server">
    <div style="text-align: center; margin-left: 100px">

<asp:CheckBoxList ID="cblcomplain_Nature" runat="server" RepeatColumns="6" RepeatDirection="Horizontal"
                        οnclick="IsListCheck('true')">
                        <asp:ListItem>无效投诉</asp:ListItem>
                        <asp:ListItem>有效投诉</asp:ListItem>
                        <asp:ListItem>态度问题</asp:ListItem>
                        <asp:ListItem>业务操作问题</asp:ListItem>
                        <asp:ListItem>中途退租</asp:ListItem>
                        <asp:ListItem>来访</asp:ListItem>
                        <asp:ListItem>流程问题</asp:ListItem>
                        <asp:ListItem>政策问题</asp:ListItem>
                        <asp:ListItem>投诉到政府部门</asp:ListItem>
                        <asp:ListItem>退款/赔偿</asp:ListItem>
                        <asp:ListItem>其他</asp:ListItem>
                    </asp:CheckBoxList>
                    <span id="span1" style="float: left; display: none">其他投诉性质:<asp:TextBox ID="TextBox1"
                        runat="server"></asp:TextBox></span>

</div>
    </form>
</body>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值