asp.net绑定checkboxlist--------jquery绑定click事件,获取checkbox的value和显示值

asp.net的checkboxlist后台绑定DataTextField和DataValueField

前台页面发现情况有:

(1)checkbox是单独的,里面什么信息都没有,在其紧接有一个label,包含text值。

<input type="checkbox" name="dlWater$0" /><label for="dlWater_0">PH</label>

(2)没有找到value值

从后台获取value和text值是没有问题的,但是考虑到前台的获取,比如:选中checkbox,显示选中的值,取消选中时,把显示的值从选中的列表中去掉,同时还要选中时要保存value值(通常是用hidden隐藏的),取消选中时去掉value和text值,

这样就要考虑从前台获取text和value值了。

js的还没有考虑过,jquery的倒是试过

(1)jquery获取text值:

从情况1中jquery这样实现

           $("input[type='checkbox']").click(function(){

        var jcxmname=$(this).next().text();//获取label的值

    }

(2)jquery获取value值:

从情况2可以看到,从后来绑定后value没有显示到前台(搞不清楚),前台的页面上没有value值,jquery是不能获取的,所以需要把绑定value值给显示出来,找了一下发现可以用其他的方法把value值显示到前台

foreach (ListItem item in CheckBoxList1.Items)

{

item.Attributes.Add("val", item.Value);

}

在绑定值过后就把value值同时再绑定下,这样绑定后前台就显示出value值了(后来发现刷新页面value值是会丢失的,怎么办,你懂的!)

前台代码如下:

<span val="1001"><input type="checkbox" name="dlWater$0" /><label for="dlWater_0">PH</label></span>

发现最外面多个span,并且把value值以val的形式给显示出来了,这样就好办多了。

又查过资料发现jquery可以这样取值

$("input[type='checkbox']").click(function(){

    var lvalue=$(this).parent('span').attr("val");//获取value值

    var lname=$(this).next().text();//获取text值

}

这样就能够在前台获取到value值了。