Autor | Zpráva | ||
---|---|---|---|
snazimse Profil |
Zdravím,
rád bych se zeptal,jak nejlépe řešit, select box, a nastavení selected ? Mám okolo 300 položek v select boxu a myslím že ručně,nějakým takovým způsobem, je to dosti nešikovné,pracné a nepraktické.Zkoušel jsem to i JS,ale nějak se mi to nepodařilo,docílil jsem stejného výsledku jako s PHP kodém. Potřeboval bych to řešit,nějak automaticky,protože mít tolik položek a ke každému optionu vkládat, php kod,viz příklad,dá se to nějak automaticky označit s mnoha položek selected jestli je vybrána ta jedna? Díky všem! <select name="list" id="list" class="list"> <option value="-1">Select option</option> <option class="level-0" value="208"<?php if($list == "208") { echo ' selected="selected"'; } ?>>1</option> <option class="level-0" value="164"<?php if($list == "164") { echo ' selected="selected"'; } ?>>2</option> <option class="level-0" value="25"<?php if($list == "25") { echo ' selected="selected"'; } ?>>3</option> |
||
Str4wberry Profil |
#2 · Zasláno: 20. 11. 2014, 21:36:29
Můžete ty
<option> y generovat cyklem.
Mimochodem, k čemu to potřebujete? Vybírat si z 300 položek v <select> u bude nejspíš dost nepohodlné.
|
||
mimochodec Profil |
#3 · Zasláno: 20. 11. 2014, 21:39:23
$array = array(11,22,54,74); foreach ($array as $value) { echo "<option class='level-0' value='".$value."'"; if($list == $value) { echo " selected='selected'"; }; echo ">".$value."</option>"; } Ještě poznámka: za čárkou se píše mezera, na konci věty tečka a mezera, pak následuje velké písmeno. |
||
snazimse Profil |
#4 · Zasláno: 20. 11. 2014, 21:58:52
Str4wberry
To já vím,že cyklem,i to že je to nepohodlné,ale prostě je tam 300 položek. mimochodec: Já to myslel tak,abych prostě nemusel tam psát to selected ke každému, a jestli v cyklu nebo bez.Samozřejmě,že cykl je lepší. Aby prostě na co takhle kliknu se uložilo,jako selected,než se zase refresne stránka,ale asi nic takového neexistuje. Zkoušel jsem to pomocí JS,ale nepodařilo se mi to nějak.Když nevím ,která položka je selected. <select name="list" id="list" class="list"> <option value="-1">Select option</option> <option class="level-0" value="208">1</option> <option class="level-0" value="164">2</option> <option class="level-0" value="25">3</option> Díky vám! |
||
Monkeys Profil * |
#5 · Zasláno: 20. 11. 2014, 22:13:10
snazimse:
Ak ma byt hodnota v selecte zobrazena aj po refreshi stranky tak daj formularu method get tym sa ti ulozi posledna zvolena hodnota do URL a ty si ju mozes vytiahnut a pouzit M. |
||
mimochodec Profil |
#6 · Zasláno: 20. 11. 2014, 22:30:45
snazimse:
„Aby prostě na co takhle kliknu se uložilo,jako selected,než se zase refresne stránka,ale asi nic takového neexistuje.“ Existuje. Pohlídej si pomocí JS událost kliknutí na položku seznamu, seznam vybraných položek ukládej buď v nějaké cookie nebo případně ajaxem na serveru. Záleží na okolnostech. |
||
snazimse Profil |
#7 · Zasláno: 21. 11. 2014, 00:22:28
Monkeys:
GET nechci používat,ale jasně. mimochodec: Jojo díky moc,vyřešil jsem to ajaxem. To je asi opravdu nejlepší řešení,ušetří to dost práce,bych řekl. Stačí mi pár řádku,s ajaxem a funguje to všechno,aniž bych potřeboval kopírovat tunu kodu. Díky všem! |
||
Časová prodleva: 9 let
|
0