Как правильно управлять листбоксами, чекбоксами и радиобаттанами, генерируя HTML код

Статус
В этой теме нельзя размещать новые ответы.

Oduvanchik

Guest
Как правильно управлять листбоксами, чекбоксами и радиобаттанами, генерируя HTML код

Подскажите, плиз, как правильно управлять листбоксами, чекбоксами и радиобаттанами, генерируя HTML код...

Вот например, сгенерировал я такой код:
<select name="state">
<option selected value="X">N/A</option>
<option value="AF">Afghanistan</option>
<option value="AD">Andorra</option>
<option value="AI">Anguilla</option>
<option value="AL">Albania</option>
<option value="DZ">Algeria</option>
<option value="AS">American Samoa</option>
...
</select>

Слово selected стоит на 'N/A'. Как сделать выбранной , например Andorra?

Если хотите посмеятся, скажу, как я делал, когда список лисбокса был маленьким (2-3 строки):

<select name="state">
<option <?=$selNA?> value="X">N/A</option>
<option <?=$selAF?> value="AF">Afghanistan</option>
<option <?=$selAD?> value="AD">Andorra</option>
</select>

И теперь, если я хочу сделать выделенной Andorra, я писал: $selNA = $selAF = ''; $selAD = 'selected';
Но в полном списке штатов более 200 строк.... :)
 

SiMM

Новичок
> Слово selected стоит на 'N/A'. Как сделать выбранной , например Andorra?
Наверно поставить selected на Andorra?

> Но в полном списке штатов более 200 строк....
Поэтому белые люди обычно не карячатся, а делают один цикл [m]foreach[/m] по массиву ([m]function.array[/m]) и используют [m]if[/m]
 

Oduvanchik

Guest
Нда....
Получается, мне сейчас нужно массив создавать, загонять туда value и text... Очень неудобно. Несовершенный HTML. И что ему мешает понимать в теге <select> ключ selected. И как белые люди писали бы <select selected=AD>....</select>
Нда....
 

SiMM

Новичок
> мне сейчас нужно массив создавать, загонять туда value и text...
Может вам лучше вагоны разгружать, мешки ворочать? И никаких value и text не надо - гораздо легче...
У вас есть тот инструмент, какой есть - рассуждения на тему "а вот неплохо бы..." лишены всякого смысла - никто ради одного лентяя менять стандарты не будет (тем более в этом мало смысла - потом ещё и до multiple претензии появятся).
 

untied

Сдвинутый новичок
Originally posted by Oduvanchik
Нда....
Получается, мне сейчас нужно массив создавать, загонять туда value и text... Очень неудобно.
Неудобно штаны через голову одевать, а остальное все -- удобно.

Милейший, а вы список стран и их ключей откуда берете? Просто так от балды и печатаете, AF : Afghanistan? А как потом эти ключи будете использовать? Наверное, гигантским switch-ом?

Тогда почему вас беспокоит несовершенство HTML, а не то, как вы программируете?
На крайняк, если так уж захотелось выделить Андорру (и почему именно её?), можно на страницу вставить JavaScript:

<SCRIPT LANGUAGE="JavaScript">
<!--
document.form_name.state.value = "AD";
//-->
</SCRIPT>

И в заключение подсказка: используйте хэш (ассоциативный массив), где ключом будет код (AD), а значением -- страна (Andorra).
 

Фанат

oncle terrible
Команда форума
Нда....
Получается, мне сейчас нужно массив создавать, загонять
Нет проблем, цветочек.
берешь, и в свой гениальный хтмл, в каждуй строчечку дописываешь минимальный код на пхп: if(название совпадает) echo ' selected'.
Вперед.

Не упеешь работать головой - работай руками.
 

Oduvanchik

Guest
Ух и мысли золотые!

Вы еще не знаете, как перестать выёб..ваться? Это легко. Просто не нужно выёб..ваться.
 

Фанат

oncle terrible
Команда форума
Тема закрыта.

Создание тем с названиями из ЗАГЛАВНЫХ букв, с оскорбительным содержанием, нецензурными выражениями и др. запрещено правилами форума.
Правила форума: http://phpclub.ru/talk/announcement.php?s=&forumid=12
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху