У меня есть флажки на моей странице, для которой я хотел бы передать их состояние обратно базе данных через ajax. Я знаю, как использовать jQuery с ajax, но я не знаю, как получить проверенное состояние, оба проверенные и непроверенные наряду с идентификатором флажка, таким образом, я могу передать его обратно серверу.
Какие-либо идеи?
if ($("#yourCheckboxID").is(":checked")) {
// checkbox is checked
} else {
// checkbox is not checked
}
выполнит эту работу.
Что ж, найти флажки достаточно просто:
$(':checkbox').whatever()
Хитрость в том, что флажки в HTML имеют значение, которое имеет смысл только тогда, когда отмечен . Если они не проверены, что вы скажете серверу?
Что ж, если у вас есть соглашение, с которым нужно работать (возможно, вы всегда отправляете «истина», когда проверено, и «ложь», если не проверено), следующее, что вы нужно решить, как доставить их на свой сервер. Вы можете использовать функцию jQuery param
, чтобы превратить список в строку параметров:
var params = $.param($(':checkbox').map(function() {
return { name: this.id, value: !!this.checked };
}));
Это дает вам строку, готовую для прикрепления к URL-адресу или отправки в виде данных через $. Ajax
.
Что-то вроде этого:
<script type="text/javascript">
$(document).ready(function(){
$("input:checkbox").change(function() {
if($(this).is(":checked")) {
$.ajax({
url: 'on_off.aspx',
type: 'POST',
data: { strID:$(this).attr("id"), strState:"1" }
});
} else {
$.ajax({
url: 'on_off.aspx',
type: 'POST',
data: { strID:$(this).attr("id"), strState:"0" }
});
}
});
});
</script>