主要功能:点击复选框的时候 即时显示选择的值 <script src="js/jquery-1.4.2.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(function () {
            $("input[name=names]").click(function () {
                var arr = new Array(); $("input[name=names]:checked").each(function (key, value) { arr[key] = $(value).val(); });
                $("#msgNames").text("共选中" + arr.length + "项:" + arr.join(","));
            });});
                
    </script>  <input type="checkbox" name="names" value="tom" />tom
    <input type="checkbox" name="names" value="jim" />jim
    <input type="checkbox" name="names" value="" />
    <input type="checkbox" name="names" value="travis" />travis
    <input type="checkbox" name="names" value="barly" />barly
    <p id="msgNames"></p>首先页面是html时候运行正常
但是改为aspx时候不知道如何改jquey代码 感觉jquery无法操作服务端控件 <form id="form1" runat="server">
    <asp:CheckBox ID="CheckBox1" name="names" value="tom" runat="server" />
    <asp:CheckBox ID="CheckBox2" name="names" value="jim" runat="server" />
    <asp:CheckBox ID="CheckBox3" name="names" value="" runat="server" />
    <asp:CheckBox ID="CheckBox4" name="names" value="travis" runat="server" />
    <asp:CheckBox ID="CheckBox5" name="names" value="bakerly" runat="server" />
    <br />
    <asp:Label ID="msgNames" runat="server" Text=""></asp:Label>

解决方案 »

  1.   

    $('<%CheckBox3.ClientID%>')
    这个js代码要放在body里,放在head里会报错
      

  2.   

    '<% =CheckBox3.ClientID%>'
    少写了个=
      

  3.   

    $("#<% =CheckBox3.ClientID%>")
      

  4.   

    jquery是js库,js可以操作html元素,而你所谓的服务端控件,最终呈现到页面上仍然是html元素(不信用浏览器打开后查看源文件就知道了),所以不要把服务端控件特殊化
    至于jquery操作失败的原因,你用浏览器打开查看源文件后看看那些asp控件在页面生成的元素,它们的属性是不是有变化,你应根据生成的页面元素的属性值来获取控件才能成功
      

  5.   

    就这么写并不行么?   checkbox解析出来的源码也是input啊,name属性是不会变的,还是一样的啊
      

  6.   

    <div id="div_list">
    <asp:CheckBox ID="CheckBox1" name="names" value="tom" runat="server" />
      <asp:CheckBox ID="CheckBox2" name="names" value="jim" runat="server" />
      <asp:CheckBox ID="CheckBox3" name="names" value="" runat="server" />
      <asp:CheckBox ID="CheckBox4" name="names" value="travis" runat="server" />
      <asp:CheckBox ID="CheckBox5" name="names" value="bakerly" runat="server" />
    </div>var k = $("#div_list :checked").length;  这一句代码就可以搞定选择了多少个if($("#div_list :checkbox").attr("checked")== true)
    {
    //选中
    }
      

  7.   

    1、2、3楼已经说了,服务器控件的客户端id是其ClientID属性所输出的值。你的$("#msgNames")根本不对!
      

  8.   

    1、2、3楼已经说了,服务器控件的客户端id是其ClientID属性所输出的值。你的$("#msgNames")根本不对!
      

  9.   


    大哥 html标签(input这样的)放在aspx这样的页面会不会有影响?.net的控件在服务端  这些html控件都不是在服务端 
      

  10.   

    aspx页面一样可以用html标签啊
    html元素如果runat="server",一样会在服务端生成相应的对象,但是前台元素与服务端的控件对象的联系仅仅在服务端向客户端发送html页面文本时(这些生成的控件对象包括asp控件类都是页面对象的成员,而页面对象的生存期是服务端接收到请求(Ajax,后台事件)至向客户端发送服务器响应)