@saharok13
начинающий программист

Как при выборе checkbox «выбрать все» передавалось ТОЛЬКО одно значения этого выбора?

<input type ="checkbox" class="checkbox" name = "objects[]"  value="1" id="checkbox0" />Выбрать всё <br> 
<input type ="checkbox" class="checkbox" name = "objects[]" value="1.1"/>1.1
<input type ="checkbox" class="checkbox" name = "objects[]" value="1.2"/>1.2
<input type ="checkbox" class="checkbox" name = "objects[]" value="1.3"/>1.3

Если я выбираю "выбрать все" передается из формы все value. Т.е 1.1, 1.2, 1.3. А мне нужно чтобы только value="1"
  • Вопрос задан
  • 80 просмотров
Решения вопроса 1
@saharok13 Автор вопроса
начинающий программист
//если отмечено "выбрать всё"
if (!empty($_POST['objects'][0])){
 $objects = $_POST['objects'][0];
}
//  если выбраны некоторые чекбоксы
if (!empty($_POST["objects"]) && is_array($_POST["objects"])){
    $objects = implode(" ", $_POST["objects"]);
}

именно этот код работает как я хочу. всем спасибо
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
badbizarre
@badbizarre
Вообще то правильней было бы делать так.
Выбрать всё не имеет value.
При нажатии выбрать все, чекаются все чекбоксы, при нажатии кнопки отправить, отправляются данные на сервер.
На сервере в цикле обрабатываем в цикле
foreach($_POST['objects'] as $check) { 
        $objects .= $check; 
 }

То решение как вы хотите сделать не верно.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы