Проверка массива Jquery + php - PullRequest
       10

Проверка массива Jquery + php

2 голосов
/ 24 декабря 2009

У меня есть группа флажков в моей HTML-форме. Группа флажков содержит массив. Мой вопрос, как проверить массив флажков с помощью jquery и получить значение массива в php

Код, указанный ниже

<input type="checkbox" name="go[]"  value="1" /><label>Married</label><br>
<input type="checkbox" name="go[]" value="2" /><label>Widowed</label><br>
<input type="checkbox" name="go[]" value="3" /><label>Single</label><br>
<input type="checkbox" name="go[]" value="4"/><label>Minor</label>

Заранее спасибо.

Ответы [ 2 ]

3 голосов
/ 29 сентября 2010

Я думаю, что вы пытаетесь использовать плагин jQuery Validation, чтобы убедиться, что установлен хотя бы один флажок из вашей группы.

Плагин Validation не любит вводимые имена с квадратными скобками. Попробуйте это в методе проверки вашей формы:

rules: {
  'go[]': {  //since it has brackets, the name must be in quotes to work
     required: true,
     minlength: 1
   }
1 голос
/ 24 декабря 2009

Если вы имеете в виду, как проверять флажки, потому что они содержат [], вот одно решение с использованием идентификаторов вместо:

<script type="text/javascript">
function validate()
{
    var proceed = true;

    for(var i = 1; i <= 4; i++)
    {
        if (!$("#" + i).is(':checked'))
        {
            proceed = false;
            break;
        }
    }

    if (proceed == true)
    {
        return true;
    }
    else
    {
        alert('All Fields Are Required !!');
        return false;
    }
}
</script>

И HTML-форма может выглядеть так:

<form action="frm" method="post" onsubmit="return validate();">

    <input type="checkbox" id="1" name="go[]"  value="1" /><label>Married</label><br>
    <input type="checkbox" id="2" name="go[]" value="2" /><label>Widowed</label><br>
    <input type="checkbox" id="3" name="go[]" value="3" /><label>Single</label><br>
    <input type="checkbox" id="4" name="go[]" value="4"/><label>Minor</label>

    <br />
    <input type="submit">
</form>

Для PHP:

// get checkboxes array
$chk_array = $_POST['go'];

Теперь вы можете манипулировать массивом $ chk_array любым способом, который вам нужен:

Примечание:

$chk_array[0] // contains your 1st checkbox value
$chk_array[1] // contains your 2nd checkbox value
$chk_array[2] // contains your 3rd checkbox value
$chk_array[3] // contains your 4th checkbox value

В php массивы начинаются с индекса 0.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...