2013-11-23 69 views
0

我有一個複選框。在jQuery中檢索複選框的布爾狀態?

<input id="new-consultation-open" type="checkbox" /> 

我想分配一個布爾值到一個變量,該變量等於複選框的狀態。

consultation.save({ 
    open: $("#new-consultation-open").val() 
}); 

然而,分配給open值爲'on'不管盒是否被選中或沒有。

+0

[jQuery的複選框值(http://stackoverflow.com/questions/4813219/jquery-checkbox-value) –

回答

3

來自jQuery的val方法將從複選框中選取value屬性,該複選框是在您的表單被選中時將被髮送到表單的文本。大多數瀏覽器默認將複選框的值設置爲on

要檢查它是否在您的客戶端代碼中被選中,您應該使用.prop('checked')代替。

consultation.save({ 
    open: $("#new-consultation-open").prop('checked') 
}); 
0

.val()在任何時候都是真值,因爲它沒有看輸入的「checked」屬性。使用這個來代替:

consultation.save({ 
    open: $('#new-consultation-open').attr('checked') 
}); 
+0

見吉列爾梅的回答可能重複。 .prop()方法的使用更爲流行。 – beejay