我有幾個複選框。基於JSON響應(通過ajax-requests加載數據),我使用.prop()函數設置並重設複選框的默認值。問題是,他們顯然不會改變這種行爲,如果我手動改變它們。我無法通過$('#checkbox:checked')。val()傳遞複選框的值,控制檯日誌顯示'undefined'。這是因爲.prop()函數嗎?我怎樣才能得到複選框的值?複選框被選中,但是:選中不起作用
如果您需要更多信息,我會很樂意提供。 這裏是一些代碼:
if (json.event.public_visible == 1) {
$('#event_public_visible').prop('checked', true);
} else {
$('#event_public_visible').prop('checked', false);
}
if (json.event.package_event == 1) {
$('#event_package_only').prop('checked', true);
} else {
$('#event_package_only').prop('checked', false);
}
更新:更多的代碼
var editEvent = function() {
if ($('#event_public_visible').is(':checked')) {
console.log('test');
}
formData = {
// ... other fields
event_package_only: $('#event_package_only :checked').val(),
event_public_visible: $('#event_public_visible :checked').val(),
// ... more fields
};
$.ajax({
url: base_url + "admin/events/editAsync",
type: "POST",
data: formData,
dataType: "json",
success: function (json) {
// success handling
}
});
};
它應該工作 - 發佈實際涉及的JavaScript,試圖使用':checked'的代碼。 – Pointy
還要注意它應該是'$('#checkbox-id:checked')。val()',':checked'之前沒有空格。 – Pointy
你試過.is(':checked')? – alix