2012-07-13 96 views
5

大家好我有一個複選框我想在回發發生之前檢查它是否在客戶端被選中。 這裏是複選框:jquery檢查asp複選框是否被選中

<asp:CheckBox runat="server" CssClass="checkbox" Checked="true" ID="checkboxRules" /> 

由於提前,Laziale

UPDATE: 的問題是,還有就是對網頁上的按鈕也這是由JS代碼引發的,也許我可以添加('#SUBMIT')。click();單擊此按鈕以檢查複選框是否在單擊該按鈕時被選中,否則顯示未選中複選框的消息:

函數enterClick(){$ }

var ishown = false; 
$(document).ready(function() { 
    $('#BUTTON').click(function (e) { 

//我想提出的複選框邏輯在這裏再次

+1

確定。你有什麼嘗試? – asawyer 2012-07-13 20:34:10

回答

1

由於它是一個服務器端複選框,它將在ASP.NET處理該控件後,將諸如<input type="checkbox" class="checkbox" />之類的東西作爲HTML發送給客戶端。

複選框的id不會像checkboxRules那樣在源代碼中有。 ASP.NET將使服務器端表單id +主頁面id(如果使用母版頁)+ checkboxRules連接,所以在這種情況下,我不會使用依賴於元素id的選擇器。

我們可以製作一個儘可能窄的jQuery選擇器,以僅選擇具有「複選框」類型和CSS類「複選框」的輸入。

$('input[type=checkbox] .checkbox').attr('checked') 

將返回輸入檢查狀態的布爾值。這將在該頁面上找到與該CSS類相關的任何輸入。

+0

請參閱:http://www.electrictoolbox.com/check-uncheck-checkbox-jquery/ – mccrager 2012-07-13 20:41:58

2

感謝假設你的複選框是具有CheckBox類網頁上的唯一項目:

var checked = $(".checkbox").is(':checked') 
+0

請檢查我更新的代碼 – Laziale 2012-07-13 21:14:32

9

嘗試...

if ($('#<%= checkboxRules.ClientID %>').is(':checked')) { 
... 
} 
+0

請檢查我的更新代碼 – Laziale 2012-07-13 21:15:08

0

將數據屬性添加到您的複選框,並使用jQuery提供的'hasClass'函數。如下圖所示:

var isChecked = $('[data-checkbox]').hasClass('checkbox-selected');
<asp:CheckBox data-checkbox="" Text="Some Caption" runat="server" />

相關問題