PDA

Просмотр полной версии : Выбрать элемент select


MorgaN
17.11.2009, 16:58
Здравствуйте!
Вообщем есть такая формочка:

<select name="id">
<option value="0">Все страны</option>
<option value="1">Австралия</option>
<option value="2">Австрия</option>
<option value="3">Азербайджан</option>
</select>

Нужно добавить кусочек кода, например на JS, так чтоб код сразу выбирал определённое значение. Т.е. чтоб не было стандартно выбрано "Все страны".
Помогите плиз, как это сделать?

bmp
17.11.2009, 18:08
Что-то такое подойдет?
<select name="id">
<option value="0">Все страны</option>
<option value="1">Австралия</option>
<option value="2" selected>Австрия</option>
<option value="3">Азербайджан</option>
</select>

MorgaN
17.11.2009, 18:30
Что-то такое подойдет?
Не, нужно чтоб отдельно от формы это выполнялось.

NOboDy
18.11.2009, 01:07
<select name="id">
<option value="0" id="select_0">Все страны</option>
<option value="1" id="select_1">Австралия</option>
<option value="2" id="select_2">Австрия</option>
<option value="3" id="select_3">Азербайджан</option>
</select>
<script>
el = document.getElementById("select_3");
if (el) el.selected = true;
else alert("Shit happens.");
</script>


Может так?

MorgaN
19.11.2009, 13:30
А вот ещё проблемку не могу решить:
форма, в ней
<select name="id">
<option value="0">Все страны</option>
<option value="1">Австралия</option>
<option value="2">Австрия</option>
<option value="3">Азербайджан</option>
</select>
нажимаю на кнопку submit и форма методом пост отправляет данные, но из селекта приходит не value, а колличество элементов.
Если сделать в форме так
<select name="id">
<option value="0">Все страны</option>
<option value="1">Австралия</option>
<option value="2" selected>Австрия</option>
<option value="3">Азербайджан</option>
</select>
То всё норм отправляется. Нужно чтоб отправлялось value значения которого выберет пользователь...

Ringo
20.11.2009, 08:37
В чём смысл наличия скрипта? может таки делать всё по принципу KISS?

MorgaN
20.11.2009, 14:16
может таки делать всё по принципу KISS?
Есть предложения?

Нужно просто чтобы пользователь выбрал из списка страну, затем скрипт залез в бд и ковырнул от туда города в этой стране, затем пользователь выбрал город, и нужно передать их value другому скрипту, но методом пост...

NOboDy
20.11.2009, 18:42
Есть предложения?
Если ты хочешь это сделать без обновления страницы - то тока ajax.
Если нет, все просто. Сперва отдаешь пользователю форму с кнопкой
отправки и одим select, в котором выбирается страна. Поле первой отправки
к первому select добавляешь второй, с городами, в соответствии с ввернутым
значением первого. Первый select выставляешь в нужное положение на
стороне сервера атрибутом selected.

Ringo
20.11.2009, 22:20
Нужно просто чтобы пользователь выбрал из списка страну, затем скрипт залез в бд и ковырнул от туда города в этой стране, затем пользователь выбрал город, и нужно передать их value другому скрипту, но методом пост...
Таки одним жвава-скриптом ты тут не обойдёшся, потому как лазить в базу данных они не могут, ибо они клиентские. Далее, строить структуру
<option>
<select />
</option>
для каждого города ты тоже джавой будешь? :)
А вобще, по поводу KISS, я таки был прав - просто сделай поле ввода для города, ибо всяких мухосрансков в Рашке - пруд пруди. А за её пределами и того более.

MorgaN
21.11.2009, 02:01
просто сделай поле ввода для города
В том то и дело что никак. Мне нужно знать value чтоб потом исходя из данных делать выводы.
Ладно, постараюсь сделать на пхп какоенибудь шаманство.
Эх... опять колдовать...

Добавлено через 3 минуты
Кстати так и не понял, т.е. значение селекта методом пост не передаётся? Получается оно передаётся только если указано
<option value="2" selected>Австрия</option>

Ringo
21.11.2009, 23:53
morgan, у Вас в форме метод верный хоть выбран? по идее должно передаваться и передаётся, помню точно. А про Скрипт, скопипастил на фри сервер выот это:

<select name="id">
<option value="0" id="select_0">Все страны</option>
<option value="1" id="select_1">Австралия</option>
<option value="2" id="select_2">Австрия</option>
<option value="3" id="select_3">Азербайджан</option>
</select>
<script>
el = document.getElementById("select_3");
if (el) el.selected = true;
else alert("Shit happens.");
</script>
Таки нормально работает, для наглядности содержимое формы передавал вникуда ГЕТом. пруфлинк (http://ring0.mine.nu/?id=0)