CheckBoxList 獲取選中的值或判斷被選中項

RepeatLayout

使用该属性指定是否在表中显示CheckBoxList控件中的项。如果该属性设置为RepeatLayout.Table,则在表中显示列表项。如果该属性设置为 RepeatLayout.Flow,则不以表结构的形式显示列表项。


下面舉例: 

前臺頁面:

<body>

    <formid="form1"runat="server">

    <div>

        <asp:CheckBoxList ID="chkTestTable"runat="server"RepeatDirection="Horizontal"RepeatLayout="Table">

            <asp:ListItemValue="0">外語水平</asp:ListItem>

            <asp:ListItemValue="1">技能水平</asp:ListItem>

            <asp:ListItemValue="2">人際交流水平</asp:ListItem>

        </asp:CheckBoxList>

        <br/>

        <br/>

        <asp:CheckBoxListID="chkTestFlow"runat="server"RepeatDirection="Horizontal"RepeatLayout="Flow">

            <asp:ListItemValue="0">外語水平</asp:ListItem>

            <asp:ListItemValue="1">技能水平</asp:ListItem>

            <asp:ListItemValue="2">人際交流水平</asp:ListItem>

        </asp:CheckBoxList>

        <br/>

        <br/>        

        <asp:ButtonID="btnTest"runat="server"Text="Test" OnClientClick="return GetChkChoose();"/>

    </div>

    </form>

</body>


源代碼:

1.RepeatLayout="Table":

 <table id="chkTestTable"border="0">

 <tr>

       <td>



                <input id="chkTestTable_0"type="checkbox"name="chkTestTable$0"/>

               <label for="chkTestTable_0">外語水平</label>



      </td>

       <td>

              <input id="chkTestTable_1"type="checkbox"name="chkTestTable$1"/>                              <label for="chkTestTable_1">技能水平</label>

       </td>

       <td>

             <input id="chkTestTable_2"type="checkbox"name="chkTestTable$2"/>

            <label for="chkTestTable_2">人際交流水平</label>

       </td>

 </tr>

</table>

        <br/>

        <br/>

 

2.RepeatLayout="Flow":

 <span id="chkTestFlow">

<input id="chkTestFlow_0"type="checkbox"name="chkTestFlow$0"checked="checked"/>

<label for="chkTestFlow_0">外語水平</label>

<input id="chkTestFlow_1"type="checkbox"name="chkTestFlow$1"/>

<label for="chkTestFlow_1">技能水平</label>

<input id="chkTestFlow_2"type="checkbox"name="chkTestFlow$2"/>

<label for="chkTestFlow_2">人際交流水平</label></span>

        <br/>

        <br/>

        

        <input type="submit" name="btnTest" value="Test" onclick=" returnGetChkChoose();" id="btnTest"/>



从上面的分析可知,当RepeatLayout="Table"时,CheckBoxList自动解析成table,<td>中含有两个子元素,一个是type="checkbox"一个是label,所以若是在js中获取到谁被选中,则要

var checkChoose = document.getClientmentById("chkTestTable");

for(i=0;i<checkChoose.cells.length;i++)

{

    // 获取table中的每一个单元格内的第一个元素,然后判断其选中状态

    if(checkChoose.cells[i].children[0].checked)

   {

       alert(“http://hi.baidu.com/new/zhong635976601”);

   }


   // 那么获取选中的内容肯定就是checkChoose.cells[i].children[1].innerText,這裡不可用.value取值,因為這裡的標記為<label>,所以要用innerText或innerHTML

}


RepeatLayout="Flow"

    看源代碼,被編譯成為<span>標記,裏面的子元素為三个是type="checkbox"三个是label,並沒有像RepeatLayout="Table"一樣被<td>標記分成三組,而是直接在一個<span>標記中,所以在這裡<span>標記中就有了6個元素,其中三個是checkbox,另外三個是checkbox的值,所以若是想獲取誰選中了,則

 for (i = 0; i < chkTestFlow.children.length / 2; i++)
            {
                if (chkTestFlow.children[2 * i].checked)
                {
                    alert("http://hi.baidu.com/new/zhong635976601");

                    return;
                }
            }


 // 那么获取选中的内容肯定就是chkTestFlow.children[2 * i +1].innerText,這裡不可用.value取值,因為這裡的標記為<label>,所以要用innerText或innerHTML


radioButtonList的使用和checkBoxList的使用基本一致,在這裡不再講解,你是否已經明白怎麼處理了呢.

不明白的可以留言....

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值