Сделать массив из всех флажков, которые были проверены? - PullRequest
2 голосов
/ 25 июня 2011

У меня есть список людей, которых я хочу получить из базы данных.Рядом с каждым у меня есть флажок, здесь:

<input type='checkbox' name='check' value='".$rows4['id']."'>

Все они должны иметь одинаковое имя, чтобы я мог проверить их все / отменить выбор всех с помощью JavaScript:

// HTML
<input type='checkbox' onClick='checkAll(document.confirm_form.check)' name='allChecker'>

// JS
function checkAll(field) {
    if (confirm_form.allChecker.checked == true) {
        for (i = 0; i < field.length; i++) {
            field[i].checked = true ;
        }
    } else {
        for (i = 0; i < field.length; i++) {
            field[i].checked = false ;
        }
    }
}

Так как же я получу массив всех проверенных?У меня есть это, но он возвращает только последний проверенный!

<?php 
if ($_POST['send_confirm']) {
    $check = $_POST['check'];
    echo "the check: $check";
}
?>

Какой будет моя лучшая ставка?

Спасибо.

Ответы [ 3 ]

6 голосов
/ 25 июня 2011

Вы можете использовать специальный синтаксис name="check[]" для всех флажков. Затем значения отображаются в виде массива при извлечении их с использованием $ _POST

Вот хорошая статья, которую я нашел, pass-input-arrays-in-php

0 голосов
/ 25 июня 2011
 $("#formid").find("input:checked").each(function()
 {  
   (this.id).attr('checked',true); 
 }); 

используйте метод Jquery, чтобы установить и снять флажок

0 голосов
/ 25 июня 2011

Вы можете попробовать с массивом элементов формы.

<input type='checkbox' name='check[]' value='".$rows4['id']."'>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...