[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Checkbox + POST
agentor
ребята подскажите как лучше сделать определение чекбоксов .
Мне нужно что бы по умолчанию первый input выб выбран как checked=\"checked\" но так что бы он запоминался также на следующих input, и соответсвенно переключался при выборке на checked на другой

что то в роде этого..

			
$group_komments = isset($_POST['group_komments']) ? (int)$_POST['group_komments'] : 0;
<
tr>
<
td><input type=\"radio\" name=\"group_komments\" value=1" .($group_komments == "1" ? " checked" : "")." /></td>
<td><label>  alle Mitglieder "
.$SITENAME."</label></td>
</tr>
<tr>
<td><input type=
\"radio\" name=\"group_komments\" value=2" .($group_komments == "2" ? " checked" : "")." /></td>
<td><label>  nur die Teilnehmer der Gruppe und Grьnder</label></td>
</tr>
<tr>
<td><input type=
\"radio\" name=\"group_komments\" value=3" .($group_komments == "3" ? " checked" : "")." /></td>
<td><label>  nur die Teilnehmer der Gruppe und deren Freunde + Grьnder</label></td>
</tr>
<tr>
<td><input type=
\"radio\" name=\"group_komments\" value=4" .($group_komments == "4" ? " checked" : "")." /></td>
<td><label>  nur Gruppengrьnder kann Kommentare schreiben</label></td>
</tr>




Спустя 15 минут (14.05.2010 - 16:51) ApuktaChehov написал(а):
Я бы сделал в цикле формирование этих чекбоксов, а в зависимости от $group_komments один раз добавли бы checked куда надо. И кода меньше и геммороя с проверками.

Спустя 6 минут, 7 секунд (14.05.2010 - 16:57) agentor написал(а):
каким образом? можно пример?

Спустя 8 минут, 13 секунд (14.05.2010 - 17:05) ApuktaChehov написал(а):
for($i = 0; $i < 4; $i++)
{
$checked = ($group_komments == $i)? $i : '';
echo('<tr><td><input type=\"radio\" name=\"group_komments\" value=2" .$checked." /></td><td><label> nur die Teilnehmer der Gruppe und Grьnder</label></td></tr>');
}


Вот как то так.

Спустя 3 минуты, 14 секунд (14.05.2010 - 17:08) agentor написал(а):
я думаю плохая идея.т.к вспомогательный текст(Инфо) должен быть разный а в данном случае будет выводится только один указанный в цикле...
если только в цикл поставить саму переменную для $checked..даж незнаю..немного запутался..

Спустя 54 секунды (14.05.2010 - 17:09) ApuktaChehov написал(а):
А что именно меняется?

Спустя 4 минуты, 53 секунды (14.05.2010 - 17:14) agentor написал(а):
да вроде ничего..и в указанном случае все valuе приобретают тип value=2

может быть таким образом?

<input type=\"radio\" name=\"group_komments\" value=1"; if($group_komments=="1") echo " checked"; echo " />


тогда как быть с параметром по умолчанию?

Спустя 1 минута, 14 секунд (14.05.2010 - 17:15) ApuktaChehov написал(а):
Я думаю, что подходить к этому вопросу надо с умом. Если у вас всего 4 чекбокса, то ваш вариант можно использовать. А если их 50? Тогда нужен подход с циклом иначе будет черт знает что.

Даже если что то меняется, я думаю, это можно реализовать в цикле.

Спустя 8 минут, 16 секунд (14.05.2010 - 17:23) ApuktaChehov написал(а):
Нет ваш вариант не подходит.
Параметр по умолчанию? Это тоже можно легко решить. Если страница грузится в первый раз, значит $_POST или какие то отдельные его ключи не существуют. Значит нужно сделать так, что бы этот самый параметр по умолчанию был активен.

Делаем так:
for($i = 0; $i < 4; $i++)
{
if(!isset($_POST['group_komments']))
$group_komments = 1;


$checked = ($group_komments == $i)? $i : '';
echo('<tr><td><input type=\"radio\" name=\"group_komments\" value=2" .$checked." /></td><td><label> nur die Teilnehmer der Gruppe und Grьnder</label></td></tr>');
}

Спустя 6 часов, 3 минуты, 21 секунда (14.05.2010 - 23:27) agentor написал(а):
решил проблему таким образом..первый input ставлю по умолчанию как checked, другие импуты уже беру из массива..если есть

<input type=\"radio\" name=\"group_serch\" value=\"yes\"";print(!$group_serch || $group_serch == "yes" ? " checked" : false ).">
<input type=
\"radio\" name=\"group_serch\" value=\"no\"";print($group_serch == "no" ? " checked" : false ).">


пока вроде так для меня лучший вариант..может кто придумает лучше.
Для каждой переменной из массива также нет настрояния писать отдельный Цикл.. дафига кода получится...да и с текстом непонятно..
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.