<script type="text/javascript" src="Scripts/jquery-1.4.1-vsdoc.js"></script>
    <script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
    <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(function(){
            $("#Button1").click(function(){
                 var obj = $("#CheckBoxList1");
             
                    if (obj.attr("checked",true)) {
                        alert("yes");
                    }
                    else {
                        alert("no");
                    }
             //
   
            });
        });
           
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
     <asp:CheckBoxList ID="CheckBoxList1" runat="server">
            <asp:ListItem Value="0">a</asp:ListItem>
            <asp:ListItem Value="1">b</asp:ListItem>
             <asp:ListItem Value="2">c</asp:ListItem>
            <asp:ListItem Value="3">d</asp:ListItem>
        </asp:CheckBoxList>
    </div>始终是YES 
没选中也是YEs
求解!!!!!!!!jqueryfunctionhtml

解决方案 »

  1.   

    if (obj.attr("checked",true)) { 
    改成 
    if (obj.is(":checked" ) {
      

  2.   

    .....楼上正解....或者  obj.attr("checked")
      

  3.   

    对于CheckBoxList,我觉得最好遍历,这样可以把所有的选中的checkbox获取到,所以LZ可以这样写:$("#Button1").click(function(){
        var obj = $("#CheckBoxList1 :checked");
        if (obj.length > 0) {
            alert("yes");
        } else {
            alert("no");
        }
        // 如果要获取具体的选中值,只需遍历即可
        obj.each(function() {
            // 逻辑
        }
      

  4.   

    有人说用prop试了一下挺好用的,用attr获取的值总是不对,你的控件应该是服务器控件吧,是不是应该用控件的ClientId,你看一下源代码有可能根本就获取不到控件
    $("#id").prop("checked")
      

  5.   

    if (obj.attr("checked",true))  
    这个表示看不懂
      

  6.   

     function checkall() {
            $("div").find("#chkItem").attr('checked', true);
            $("#unchk").attr('checked', false);
        }
    我用的是html的checkbox,这样是可以的
      

  7.   

    $(function(){
                $("#Button1").click(function(){
                     var obj = $("#CheckBoxList1");
                  
                        if (obj.prop("checked")) {
                            alert("yes");
                        }
                        else {
                            alert("no");
                        }
                 //
        
                });
            });
      

  8.   


    <!DOCTYPE html>
    <html>
    <head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
    </script>
    <script>
    $(document).ready(function(){
        $("#btn").click(function(){
           alert($("#chk1").is(":checked"));
        });
       $("#btnSelect").click(function(){
           $("#chk1").prop("checked",true);
       });
       $("#btnUnSelect").click(function(){
           $("#chk1").prop("checked",false);
       });
    });
    </script>
    </head>
    <body>
    <input type="checkbox" id="chk1" value="aa" />
    <input type="button" id="btn" value="Alert" />
    <input type="button" id="btnSelect" value="Select" />
    <input type="button" id="btnUnSelect" value="UnSelect" />
    </body>
    </html>http://api.jquery.com/prop/
    你用的控件应该是服务器控件不能直接用Id,要看一下html的源代码的控件Id是什么,或者用服务器控件的ClientId
      

  9.   

    我使用jquery写的,这应该不影响吧
      

  10.   

    <script type="text/javascript">
            $(function () {
                $("#Button1").click(function () {
                    var hasAnyChecked = $("#<%= CheckBoxList1.ClientID%> input[type='checkbox']").prop("checked");
                    if (hasAnyChecked === true) {
                        alert("yes");
                    }
                    else {
                        alert("no");
                    }
                    //            });
            });    </script>
      

  11.   

    不行啊,没反应啊,我没有input,我的是checkboxList
      

  12.   

    可以的。你看看生成后的html结构就知道怎么写了啊,checkbox是微软给你封装的服务器控件,IIS最终response回来客户端的是一个html table,里面的td就是那些input type=checkbox了。你的js是运行在客户端,当然是根据生成后的html来写咯。
      

  13.   

    checked属性对应的貌似是checked
    如果选中 checked属性值为checked
    否则 checked是找不到的   
      

  14.   

    用obj.length > 0判断貌似是不准确的  你这里只是表示$("#CheckBoxList1")对象   而$("#CheckBoxList1")这个对象里面又有许多属性 事件  所以 length肯定>0
    lz不妨用$.each(obj,function(a,a_item){
    alert(a+":"+a_item)  //应该弹出0:【object之类的东西】
    /*再试试这个
    $.each(a_item,function(b,b_item){
    alert(b+":"+b_item);//应该弹出对象的所有属性 事件等等 
    })
    */
    })