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

来源:互联网 发布:seo网站建设 编辑:程序博客网 时间:2024/06/16 05:39

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的使用基本一致,在這裡不再講解,你是否已經明白怎麼處理了呢.

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

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 姿势不正确引起的习惯性斜颈怎么办 一岁宝宝有点斜颈怎么办 六个月宝宝有点斜颈怎么办 5月宝宝有点斜颈怎么办 半岁宝宝头偏怎么办 肌性斜颈成年后怎么办 5个月孩子脖子歪怎么办 宝宝一岁多头歪怎么办 四个月宝宝歪脖子怎么办 1岁宝宝脖子歪怎么办 宝宝脖子是歪的怎么办 小孩脖子睡歪了怎么办 脸部三角区肿了怎么办 面部三角区挤了怎么办 胳膊扭着了肿了怎么办 多囊卵巢综合症治不好怎么办 胳膊受了风发麻怎么办 胳膊抻筋了很疼怎么办 腰抻了怎么办最有效 孩子胳膊抻着了怎么办 胳膊伤筋了疼怎么办 宝宝胳膊抻了疼怎么办 练完普拉提头晕怎么办 生完孩子腰背疼怎么办 宝宝不肯把屎尿怎么办 存的电话删除了怎么办 脚踝的韧带断了怎么办 买了双鞋子想退怎么办 鞋子大了一码怎么办 nba篮球大师身体素质满了怎么办 钉鞋大了一码怎么办 篮球鞋鞋垫会向里面跑怎么办 穿高跟鞋脚肿了怎么办 衣服弄到单车油怎么办 高低床孩子摔下来怎么办 量血压时老紧张怎么办 牛仔外套的扣子掉了怎么办 裤子的裤筒大了怎么办 衣服拉链驰坏了怎么办 小脚裤裤腿紧了怎么办 地垫粘地板了怎么办