$ _POST не метод, это superglobal variable, поэтому отправляемое вами значение содержится в $ _POST. $ _POST также может содержать несколько значений как associative array, в этих случаях вы берете значение с помощью ключа, такого как $ _POST ['id'], который представляет индекс массива, связанный с ключом «id» в $ _POST.
Есть несколько вещей, которые не совсем правильны в вашей логике, прежде всего, не публикуйте значения при щелчке по галочке, если только нет, и у вас нет другого лучшего способа запуска сообщения. Если есть несколько флажков, вы могли бы много, а не только один, так что ваша третья линия должна быть что-то вроде (обратите внимание на массив):
$.post("ci_editor.php", [{ id: this.id, checked: this.checked }, { id: this.id2, checked: this.checked2 }]);
Тогда $ _POST должен быть сам массив, вам просто нужно пройти через него и это сделало бы трюк.
Для обработки изменяющегося количества флажков, попробовать что-то вроде этого:
var payload = new Array();
$.each($(":checkbox") , function(index, value) {
//value holds the reference of the check box
if(value.attr('checked')){
//Build the object with whatever values from the checkbox you require.
payload.push({ id: value.id, checked: value.attr('checked') })
}
})
и использовать полезной нагрузки массива в качестве $ .POST полезной нагрузки.
Попробуйте 'var_dump ($ _ POST)' и посмотрите, что это говорит. Но я думаю, что это будет '$ _POST ['id']' и '$ _POST ['checked']'. – putvande
echo $ _POST ['id']; вы можете выбрать значение с помощью $ _POST ['checked']; – Luke