webform中jQuery获取checkboxlist的value值

后台绑定

/首先,在绑定checkboxlist时,为ListItem每个对象添加一个alt属性,值保存对应的value值,代码如下
if(dt != null && dt.Rows.Count > 0)
{
    foreach(DataRow dr in dt.Rows)
    {
        //分别为text值、value值
        listTest.Items.Add(new ListItem(dr["Title"].ToString(), dr["ID"].ToString()));
    }
    //为ListItem对象添加alt属性,值保存value值
    foreach(ListItem li in listTest.Items)
    {
        li.Attributes.Add("alt", li.Value);
    }
}

生成结果

现在,生成的html代码如下
 
<table id="Table1" border="0">
    <tr>
        <td>
            <span alt="400">
                <input id="listTest_0" type="checkbox" name="listTest$0" />
                <label for="listTest_0">
                    基于jQuery的一个震动效果
                </label>
            </span>
        </td>
    </tr>
    <tr>
        <td>
            <span alt="398">
                <input id="listTest_1" type="checkbox" name="listTest$1" />
                <label for="listTest_1">
                    使用css的overflow属性改变缩略图大小
                </label>
            </span>
        </td>
    </tr>
</table>

js取值

从上边可以看出,多了一个span标签,里边alt的值即为我们需要的value值。使用下边的jQuery代码即可获得
$(document).ready(function() {
    $("#btnShow").click(function() {
        var valuelist = ""; //保存checkbox选中值
        //遍历name以listTest开头的checkbox
        $("input[name^='listTest']").each(function() {
            if (this.checked) {
                //$(this):当前checkbox对象;
                //$(this).parent("span"):checkbox父级span对象
                valuelist += $(this).parent("span").attr("alt") + ",";
            }
        });
        if (valuelist.length > 0) {
            //得到选中的checkbox值序列,结果为400,398
            valuelist = valuelist.substring(0, valuelist.length - 1);
        }
    });
});
原文地址:https://www.cnblogs.com/masonblog/p/12740572.html