我有一個複選框。在jQuery中檢索複選框的布爾狀態?
<input id="new-consultation-open" type="checkbox" />
我想分配一個布爾值到一個變量,該變量等於複選框的狀態。
consultation.save({
open: $("#new-consultation-open").val()
});
然而,分配給open
值爲'on'
不管盒是否被選中或沒有。
我有一個複選框。在jQuery中檢索複選框的布爾狀態?
<input id="new-consultation-open" type="checkbox" />
我想分配一個布爾值到一個變量,該變量等於複選框的狀態。
consultation.save({
open: $("#new-consultation-open").val()
});
然而,分配給open
值爲'on'
不管盒是否被選中或沒有。
來自jQuery的val
方法將從複選框中選取value
屬性,該複選框是在您的表單被選中時將被髮送到表單的文本。大多數瀏覽器默認將複選框的值設置爲on
。
要檢查它是否在您的客戶端代碼中被選中,您應該使用.prop('checked')
代替。
consultation.save({
open: $("#new-consultation-open").prop('checked')
});
.val()在任何時候都是真值,因爲它沒有看輸入的「checked」屬性。使用這個來代替:
consultation.save({
open: $('#new-consultation-open').attr('checked')
});
見吉列爾梅的回答可能重複。 .prop()方法的使用更爲流行。 – beejay
[jQuery的複選框值(http://stackoverflow.com/questions/4813219/jquery-checkbox-value) –