Autor | Zpráva | ||
---|---|---|---|
Annie Profil |
#1 · Zasláno: 30. 1. 2015, 10:25:09
Do select-boxů mi chodí seznamy položek - jak můžu v JS nejlíp udělat, aby když přijde jen jediná položka, aby se automaticky vybrala bez nutnosti rozkliknutí?
|
||
Destiny_1 Profil |
#2 · Zasláno: 30. 1. 2015, 10:36:44
Dobrý den, mělo by stačit nastavit položce selected
<option value="polozka" selected>Položka</option> a v JS by neměl být problém zkontrolovat jestli máte jednu položku ne? |
||
Annie Profil |
#3 · Zasláno: 30. 1. 2015, 10:40:41
No to první řešení nejde, protože ty položky tam vypsaný nikde nemám, chodí mi ze serveru...
|
||
Destiny_1 Profil |
#4 · Zasláno: 30. 1. 2015, 10:44:37
V jakém typu ? Lepší bude když pošlete ukázku?
|
||
Annie Profil |
#5 · Zasláno: 30. 1. 2015, 10:47:51
Posílám to jako ajax...a přijde mi normálně číselník. Jediný co potřebuju a nevím, je jak napsat, že pokud přijde jen jedna položka, tak se vybere ta
|
||
Destiny_1 Profil |
#6 · Zasláno: 30. 1. 2015, 11:16:10
Pošlete tvar přímo toho "číselníku", nevím co si mám pod tím představit.
|
||
Keeehi Profil |
#7 · Zasláno: 30. 1. 2015, 11:39:10
Destiny_1:
Pravděpodobně JSON pole. „Lepší bude když pošlete ukázku?“ Annie rovnou živou ukázku prosím. Ušetří to spoustu času. |
||
Dan Charousek Profil |
#8 · Zasláno: 30. 1. 2015, 11:53:15
Annie:
Pokud je položka jediná, není třeba nic vybírat, zobrazí se jako jediná v selectboxu. Pokud řešíš tento problém, musí tam být ještě klasická -- Vyberte možnost-- položka. To se dá řešit snadno. Ve funkci, která zpracovává výsledky ajaxového volání stačí kontrolovat počet vrácených položek a na to zareagovat. Předpokládejme, že se vrací JSON data:
// ukázka je pro zjednodušení pomocí jQuery $.get("ajax.php", function(data){ var response = JSON.parse(data); if(response.length == 1) { // položka je jen jedna, odstraníme současné optiony ze seznamu a nahradíme novou } else { // položek je víc, v cyklu vložíme všechny položky } }); Je to jen obecný nástřel, to jakým způsobem ve finále uděláš ajaxový dotaz nebo zpracování dat je na tobě. |
||
Časová prodleva: 10 let
|
0