Twitt
@Twitt

Как сделать, чтобы все нечекнутые и чекнутые чекбоксы отправлялись на бэк?

Создаю чекбоксы динамически, которые находятся рядом с селектами. Т.е. селектов может быть создано динамически, допустим, 10. Чекбоксов должно быть столько же. Селекты приходят на данный момент в массиве (так как их 10, то с ключа 0 до 9), а чекбоксы приходят только чекнутые и индексы пропадают. Я бы хотел чтобы пришло тоже от 0 до 9, только писало on-off, а оно выбирает именно те что чекнутые, и приходит на сервер допустим только 3 чекбокса (как раз те что были чекнутые). Хидден поле что то не очень помогло, в js не совсем понял что делать
Хэлп плиз
  • Вопрос задан
  • 86 просмотров
Пригласить эксперта
Ответы на вопрос 2
@alexalexes
Сталкивался с такой особенностью, решал как раз через дополнительное поле hidden:
<label>
<input type="hidden" id="field_0_1" name ="param_list[0][field_1]" value="off"/>
<input type="checkbox" onchange="set_hidden_checkbox(this, 'field_0_1')"/>
</label>

function set_hidden_checkbox(target, id)
{
  var hidden = document.getElementById(id);
  if(hidden !== undefined)
     hidden.value = target.checked ? 'on' : 'off';
}

Атрибут value в hidden нужно инициализировать значением по умолчанию.
Ответ написан
Комментировать
402d
@402d
начинал с бейсика на УКНЦ в 1988
на сервер передаются только чекнутые
можно явно указать индекс name="check[4]"
или name="check_4"

А в бакенде для каждого селекта делаешь существует ли такой элемент в $_POST
for($n=0;$n<10;$n++){
if(!empty($_POST['check_'.$n])){ // array_key_exists($_POST['check'][$n])
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 нояб. 2024, в 00:55
500 руб./за проект
21 нояб. 2024, в 23:30
300000 руб./за проект
21 нояб. 2024, в 22:21
3000 руб./в час