您可以使用on()函數來偵聽複選框單擊。
$(function() {
$(document.body).on('click', 'input.mycheckbox', function() {
var checkbox = $(this);
var checked = checkbox.attr('checked');
$.ajax('service.url', {
type: 'post',
data: {action: 'checkbox-select', id: checkbox.attr('id'), checked: checked},
success: function(data) {
alert(data);
},
error: function(data) {
alert(data);
// Revert
checkbox.attr('checked', !checked);
}
});
}
});
隨意問,如果你需要任何澄清或如果這不適合你的情況。
編輯:
的AJAX功能的data
參數是將被張貼到你的PHP頁面的對象。當您的PHP代碼正在運行時,$_POST
將是一個包含我們傳遞的值的數組。所以,$_POST['action']
將是'複選框選擇',$_POST['id']
將獲得ID,$_POST['checked']
將是真或假取決於複選框是選中還是取消選中。您在Javascript中獲取ID的方法可能會改變;我只是把checkbox.attr('id')
給你一個想法。
學習PHP時,在客戶端轉儲來自服務器的響應會很有幫助。示例PHP代碼:
if($_POST['action'] == 'checkbox-select']) {
$checkbox = $_POST['id'];
$checked = $_POST['checked'];
// Your MySQL code here
echo 'Updated';
}
echo 'Code ran';
我編輯了JS以顯示服務器的結果。
你應該提供你正在使用的代碼和你的表結構。 –