[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: работа с select (отображение выбранного пункта)
ilma55
Добрый день!
вот сделал форму сортировки:
<select name="sortby" onchange="this.form.submit()" >
<option
value="1"> Title</option>
<option
value="21">Price: Low to High</option>
<option
value="22"> Price: High to Low</option>
<option
value="31"> Newest</option>
<option
value="32"> Oldest</option>
<option
value="4"> Most Popular</option>
</select>
<input
type="image" src="images/ok2.png" align="absmiddle" />


она работает, НО!!!
когда я выбираю какой-то пункт в поле где отображается значение option
постоянно Title.

поясню, вот к примеру я выбрал Oldest, все сработало, но у меня не отображается в форме что сейчас выбран Oldest, а отображается первый пункт, т.е. Title

что надо подправить?



Спустя 23 минуты, 30 секунд (22.03.2010 - 14:13) ApuktaChehov написал(а):
Делал это. Но не помню. Чесно... не помню.
Если никто не ответит, я вечером дома посмотрю.

Спустя 2 минуты, 39 секунд (22.03.2010 - 14:16) Adil написал(а):
смотри какой параметр пришел из select формы, сравнивай со значением option, и если они совпадают присваивай selected.
На примере oldest.
<option value="32" <?php if($_POST['sortby'] == 32) print "selected";?>> Oldest</option>


и тд для всех значений. Для минимализации кода можно пользоваться тернарным оператором:
<?=$_POST['sortby'] == 32 ? "selected" : ""?>

Спустя 4 минуты, 40 секунд (22.03.2010 - 14:20) ApuktaChehov написал(а):
Э, тут вроде JavaScript?! blink.gif

Я как понял, нужно что бы при выборе пункта селекта, его значение подставлялось в поле?

Спустя 2 минуты, 14 секунд (22.03.2010 - 14:23) ilma55 написал(а):
кажется до меня дошло...
логично.
я думал в js надо что-то лобавить...

а тут все гораздо проще

Спустя 1 час, 39 минут, 35 секунд (22.03.2010 - 16:02) ilma55 написал(а):
нет, парни, не работает

вот код:
<select name="sortby" onchange="this.form.submit()" >
<?php if ($_POST['sort_by']=="1") echo "<option selected value='1'> Title</option>";
else echo "<option value='1'> Title</option>"; ?>
<?php
if ($_POST['sort_by']=="21") echo "<option selected value='21'>Price: High to Low</option>";
else echo "<option value='21'>Price: Low to High</option>"; ?>
<?php
if ($_POST['sort_by']=="22") echo "<option selected value='22'>Price: Low to High</option>";
else echo "<option value='22'>Price: Low to High</option>"; ?>
<?php
if ($_POST['sort_by']=="31") echo "<option selected value='31'> Newest</option>";
else echo "<option value='31'> Newest</option>"; ?>
<?php
if ($_POST['sort_by']=="32") echo "<option selected value='32'> Oldest</option>";
else echo "<option value='32'> Oldest</option>"; ?>
<?php
if ($_POST['sort_by']=="4") echo "<option selected value='4'> Most Popular</option>";
else echo "<option value='4'> Most Popular</option>"; ?>
</select>


может тут что то надо подправить? onchange="this.form.submit()

Спустя 21 минута, 56 секунд (22.03.2010 - 16:24) Adil написал(а):
<select name="sortby" onchange="this.form.submit()" >
<
option value="1" <?=$_POST['sortby'] == 1 ? "selected" : ""?>> Title</option>
<
option value="21" <?=$_POST['sortby'] == 21 ? "selected" : ""?>>Price: Low to High</option>
<
option value="22" <?=$_POST['sortby'] == 22 ? "selected" : ""?>> Price: High to Low</option>
<
option value="31" <?=$_POST['sortby'] == 31 ? "selected" : ""?>> Newest</option>
<
option value="32" <?=$_POST['sortby'] == 32 ? "selected" : ""?>> Oldest</option>
<
option value="4" <?=$_POST['sortby'] == 4 ? "selected" : ""?>> Most Popular</option>
</
select>


если метод гет меняй пост на гет

Спустя 3 минуты, 36 секунд (22.03.2010 - 16:28) ilma55 написал(а):
все ... сделал...

не хватало ;

Спустя 1 месяц, 25 дней, 19 часов, 46 минут, 25 секунд (18.05.2010 - 11:14) Гость_Dasha написал(а):
Спасибо, очень пригодилось rolleyes.gif


_____________
Программист – это не деятельность, это иной образ жизни!
Быстрый ответ:

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