2012-05-25 15 views
5

Hàm luôn trả về false, dù đã chọn hộp kiểm. Tôi thực sự không thể phá vỡ những gì tôi đang làm sai. Tôi đang sử dụng hộp kiểm để bật và tắt hộp văn bản trong chế độ xem lưới. Tuy nhiên, nó dường như không hoạt động. Cảm ơn đã giúp đỡ. Tôi đã đăng mã html và jq bên dưới.Kiểm tra JQuery cho Checkbox được kiểm tra

HTML code:

<asp:GridView ID="grdFees" runat="server" AllowPaging="false" CssClass="Grid" AutoGenerateColumns="false" EmptyDataText="No Data Found" EmptyDataRowStyle-HorizontalAlign="Center" EmptyDataRowStyle-CssClass="gridItem" TabIndex="5"> 
<Columns> 
<asp:TemplateField HeaderText="Select" HeaderStyle-HorizontalAlign="center" 
           ItemStyle-HorizontalAlign="center" ItemStyle-Width="2%"> 
           <ItemTemplate> 
            <asp:CheckBox ID="chkselect" runat="server" CssClass="checkbox" 
            Width="15px" Checked="false" /> 
           </ItemTemplate> 
          </asp:TemplateField> 

</Columns> 
</asp:GridView> 

Jquery mã:

$(document).ready(function() 
    { 
     $(".checkbox").click(function() 
     { 
     if ($(this).is(":checked")) 
     { 
      alert("true"); 
     }else 
     { 
      alert("false"); 
     } 
}); 

Trả lời

11

ASP.NET có thể không áp dụng giá trị của CssClass cho hộp kiểm, nhưng đối với nhãn và/hoặc phần tử vùng chứa đã tạo.

Hãy thử sử dụng bộ chọn :checkbox thay vì:

$(document).ready(function() { 
    $("input:checkbox").click(function() { 
     if ($(this).is(":checked")) { 
      alert("true"); 
     } else { 
      alert("false"); 
     } 
    }); 
}); 
+0

đã hoạt động ... nhờ gợi ý quý giá của bạn ... tuyệt vời !! – Prince

+0

Bỏ phiếu, cảm ơn bạn rất nhiều. Điều này đã khiến tôi khốn khổ. Làm thế nào tôi đã bỏ lỡ điều này khi kiểm tra HTML là vượt ra ngoài tôi. – Lukas

+0

Ôi chúa ơi! Bạn vừa kết thúc một bó tóc kéo cho tôi. Cảm ơn nhiều! –

0
$(document).ready(function() { 
    $("#chkselect").click(function(){ 
     if (this.checked) { // can also use $(this).is(':checked') as you do 
      alert("true"); 
     } else { 
      alert("false"); 
     } 
    }); // you code miss "});" here 
}); 

Bạn cũng có thể sử dụng bộ chọn

$(':input:checkbox') hoặc $('input:checkbox')

+0

cảm ơn câu trả lời ... nhưng vẫn không hoạt động. cảnh báo luôn hiển thị sai. – Prince

2

Khi Lưới doesnt áp dụng các lớp để vào hộp kiểm bạn có thể làm một cái gì đó như thế này.

$(document).ready(function() { 
    $(".checkbox :checkbox").click(function(){ 
     if (this.checked) { 
      alert("true"); 
     } else { 
      alert("false"); 
     } 
    }); 
});