Подскажите плиз как записать данные из value если отметили checkbox или на оборот если сняли галочку. Но не через кнопку submit , а с помощью JavaScript/jquery не перезагружая страницу . Вот есть пример, но без записи в БД и он использует все checkbox которые есть на стр и если checkbox отмечен все равно сразу не видит и пишет что выключен.... Подскажите более короткий вариант чем этот с записью в БД. Спасибо <input type="checkbox" name="cb1" id="check1" value="qwerty1"/> <input type="checkbox" name="cb2" id="check2" value="qwerty2" /> Код (Javascript): var boxes = $("input:checkbox"); $("input:checkbox").on("change", function(){ var theArray = new Array(); for (var i=0;i<boxes.length;i++) { var box = boxes[i]; if ($(box).prop('checked')) { theArray[theArray.length] = $(box).val(); } } showValues(theArray); }); var showValues = function(array) { var text = ""; if(array.length == 0) text += "чекбокс не выбран"; for(var i = 0; i < array.length; i++) { text += "Чекбокс "+array[i]+" выбран!<br />"; } $(".values").html(text); }
как то так HTML: <input type="checkbox" value="1" data-id="тут ид какой надо"> Код (Javascript): $("input:checkbox").on("change", function(){ var val = ($(this).prop('checked')); var id = ($(this).data('id')) ajax(..... шлем куда надо id элемента и его значение) })
Спасибо я немного разобрался. у меня получилось обработать в php в другом файле. Если пишу в том файле где скрипт ajax то не выполняется. Подскажите возможно выполнить запрос в этом же файле чтобы не плодить еще доп. файлы. и напр вывести надпись "выполнено" вот так работает с доп.файлом Код (Javascript): $.ajax({ type: "POST", url: "result.php", data: $('#ajaxForm').serialize(), cache:false, success: function(html){ alert(html); } }); и еще плиз как от сюда var id = ($(this).data('id')) передать id в php скрипт для обработки ... сори я только начал с ajax разбираться. C php нет проблем
Создайте папку для ajax и в ней храните все свои ajax.php файлы. Сам php код будет выглядеть как-то так (ajax.php): Код (Text): $id= $_POST['id']; $value= $_POST['value']; ... проводим необходимые манипуляции с id и value ... if('что-то там...') { //когда у нас ошибка echo json_encode(array('ok' => false, 'msg' => 'Что-то пошло не так')); } else { //когда у нас все хорошо echo json_encode(array('ok' => true, 'msg' => 'Все отлично')); } Сам ajax-запрос Код (Text): $("input:checkbox").on("change", function () { var id, val, data; id = $(this).data('id'); val = $(this).val(); data = { id: id, value: val }; $.ajax({ type: "post", //в каком формате отправляем данные dataType: "json", //в каком формате принимаем данные url: "ajax/ajax.php", //в данном случае url будет выглядеть так: http://домен/папка ajax/файл ajax.php data: data, //передаваемые данные success: function(response) { //ответ от ajax.php if(typeof response === 'undefined') { //если пришел ответ, который мы не можем прочесть console.error('Скрипт не работает!'); } else { if(response.ok) {//если все хорошо alert(response.msg); } else { //если есть ошибки alert(response.msg); } } } }); });