#php #html #post #input #checkbox
#php #HTML #Публикация #ввод #флажок
Вопрос:
У меня есть куча флажков на странице, и я хочу передать два значения для каждого флажка следующим образом….
<input name="class[]" value="first_value" data="second_value" type="checkbox" class="auto"/>
есть идеи, как получить first_value
и second_value
перейти к $ _POST в php
любые предложения о том, как это сделать
Комментарии:
1. просто любопытно, почему вам нужно передавать два значения для одного ввода. разве вы не можете сначала объединить два значения как одно?
Ответ №1:
Вы можете сделать это
<input name="class[]" value="CIS 2910C DL:3" type="checkbox" class="auto"/>
где вы разделяете два значения с помощью : или любого другого разделителя, который вы хотите.
Затем в $ _POST вы можете использовать explode в цикле, подобном этому
$pieces = explode(":", $class);
echo $pieces[0]; // CIS 2910C DL
echo $pieces[1]; // 3
таким образом, вы можете извлечь оба значения
Комментарии:
1. Это способ сделать это. Объединять с
implode()
помощью и извлекать сexplode()
помощью …2. Эквивалентный этому rails — split() . Итак, вы бы сделали
value1, value2 = value.split(':')
, где значение равно «CIS 2910C DL: 3».
Ответ №2:
Вы не можете сделать это напрямую. Я бы проделал цикл с помощью jquery и создал новые скрытые входные данные с этими значениями и удалил данные attr.
Ответ №3:
Как насчет:
<input name="class[second_value][]" value="first_value" type="checkbox" class="auto"/>
Затем в PHP
foreach($_POST['class'] as $first_value=>$tmpArray) {
foreach($tmpArray as $second_value) {
echo $first_value.": ".$second_value;
}
}
Странный способ сделать это, но в любом случае это кажется странной ситуацией, в которой вы находитесь.
Ответ №4:
Я думаю, вы можете сделать это, только если используете ajax или добавляете скрытое поле с последовательным индексом ‘[]’, устанавливая флажок со значением X в скрытом местоположении X