|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
24.05.2018, 06:19 | #1 |
Форумчанин
Регистрация: 14.10.2016
Сообщений: 406
|
Чекбоксы и ajax
День добрый, возникла не большая проблема) есть чекбоксы
Код HTML:
<div id="rol_svet"> <p style="text-align: center;"><strong>Прозрачность</strong></p> <input id="svet" type="checkbox"> Светопропускающией <input id="svet_bo" type="checkbox"> ВО </div> Код HTML:
$(document).ready(function() { $('#rol_svet input:checkbox').click(function(){ if ($('#svet').is(':checked')) { $.ajax({ type: 'POST', url: 'bd.php', data: 'svet_but=svet', success: function(e){ $("#block-tovar-grid").html(e); } }); } if ($('#svet_bo').is(':checked')) { $.ajax({ type: 'POST', url: 'bd.php', data: 'svet_bo=svetbo', success: function(e){ $("#block-tovar-grid").html(e); } }); } else { $.ajax({ type: 'POST', url: 'bd.php', data: 'rol_but=rol', success: function(e){ $("#block-tovar-grid").html(e); } }); } $('#rol_svet input:checkbox').not(this).prop('checked', false); }); }); PHP код:
Если нажат чекбокс #svet_bo то выбираем значения 0 колонки svet таблицы role. Если чекбоксы не выбраны то используем всю колонку svet таблицы role. При клике на чекбоксы они срабатывают то с первого то со второго раза, особенно первый чекбокс #svet. Где ошибка, что не так?
Еду медленно, но верно!
|
24.05.2018, 07:41 | #2 |
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
Регистрация: 29.09.2007
Сообщений: 1,824
|
Учитесь отлаживать, ставьте console.log и жмакайте чекбоксы. Касательно кода простите но он безобразен, не стал читать чтобы настроение с утра не портить. примеров в сети млн поискайте перепишите это пожалуйста.
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
|
24.05.2018, 08:30 | #3 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
полностью согласен со Станиславом.
Добавлю, что у меня вызывает большое сомнение, что в скрипте вообще логика адекватная. Ошибка в том, что есть блок ELSE, который работает неадекватно. Смотрите, ваша функция срабатывает при клике на чекбоксах внутри rol_svet. вначае проверяем, нажат ли первый чекбокс. Если нажат - выполняем запрос. потом проверяем, нажат ли второй чекбокс. Если нажат - выполняем запрос. а если не нажат (ветка ELSE) выполняется другой запрос. Теперь, внимание, вопрос - когда будет выполняться код по ветке ELSE, в каком состоянии будет первый чекбокс ? |
24.05.2018, 09:42 | #4 |
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
Регистрация: 29.09.2007
Сообщений: 1,824
|
Поменяйте хотя бы условие на это.
Код:
Установите как надо чекбоксы, пробегитесь по ним, соберите их состояния и одним запрос отправьте на сервер. И в php одним же запросом сделайте выборку из бд. Например хотя бы так Код:
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Последний раз редактировалось Stanislav; 24.05.2018 в 09:56. |
24.05.2018, 10:14 | #5 |
Форумчанин
Регистрация: 14.10.2016
Сообщений: 406
|
Задумано в отключенном состоянии)
Еду медленно, но верно!
|
24.05.2018, 10:16 | #6 |
Форумчанин
Регистрация: 14.10.2016
Сообщений: 406
|
Значение 1 или 0 откуда берем?
Еду медленно, но верно!
|
24.05.2018, 10:44 | #7 |
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
Регистрация: 29.09.2007
Сообщений: 1,824
|
всмысле откуда, в моем примере 2 строчки кода в теле цикла, даже если не разбираетесь не ужели догадаться нельзя?
Код:
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
|
24.05.2018, 10:54 | #8 |
Форумчанин
Регистрация: 14.10.2016
Сообщений: 406
|
т.е. 0 это первый чекбокс 1 это второй?
Еду медленно, но верно!
|
24.05.2018, 11:01 | #9 |
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
Регистрация: 29.09.2007
Сообщений: 1,824
|
нет это свойство checkbox
Код:
Код:
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Последний раз редактировалось Stanislav; 24.05.2018 в 11:22. |
24.05.2018, 11:05 | #10 |
Форумчанин
Регистрация: 14.10.2016
Сообщений: 406
|
Ну то есть можно было так
Код HTML:
var sThisVal = (this.checked ? true : false);
Еду медленно, но верно!
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Упоряддочить по колонкам чекбоксы | ninja2 | HTML и CSS | 1 | 23.03.2016 12:40 |
Неактивные чекбоксы | _dvr | JavaScript, Ajax | 12 | 17.09.2015 21:23 |
IE 8 чекбоксы | tati89 | HTML и CSS | 4 | 13.08.2014 16:09 |
Столбцы и чекбоксы | Lamo | Microsoft Office Excel | 2 | 27.07.2013 18:34 |
чекбоксы (делфи) | NewLamer&Programer | Помощь студентам | 1 | 12.01.2013 13:48 |