Autor Zpráva
Hologos
Profil
Zdravím,
mám jeden takový problém.

Popíši současné řešení:
Mám formulář, kde je <select> dynamicky generován z databáze (seznam položek). To slouží k výběru a uložení dané položky + počtu do databáze.
Při používání jsem ale zjistil, že potřebuji zadat víc věci najednou do databáze. Je to tak rychlejší (a je to potřeba). Proto mě napadlo, že tomu selectu nastavím událost na onChange, a ta vytvoří další řádek (text, <select>, text(počet), <input>, kam se dává počet.)

V tuto chvíli mám 2 problémy.

Šel jsem na to přes JavaScript a DOM. Ale pokud jsem přidal výše zmiňované, přidal jsem to až na konec.
(Ilustrace)
Položka: <select> Počet <input>
<send button>
Položka: <select> Počet <input>

A kdyby se to tedy povedlo, jak mám zařídit, aby se ten <select> naplnil daty z DB (jak na to jít např. přes AJAX). Nechci ale, abych si JavaScript generoval do stránky (tzn <script> vygenerovat data do funkce </script>)


Zatím to mám řešené tak, že jsem si vygeneroval 10 polí, 9 z nich skryl a události onChange na stavil fci, která mi odhalí následující <select>. 1. je pak povinný a další můžou být volná (pokud však je vybráno něco ze <select>, tak se už pak musí zadat i počet).

Díky
Honza_n
Profil *
Použíj Jquery. Zrovna tuto záležitost řeším taky.

Dám ti tady ukázku toho co mám já:

$(document).ready(function() {
  dr=$("select[name=druh]");
  ro=$("select[name=rod]");
  ci=$("select[name=cislo]");
  sk=$("select[name=skupina]");
  vz=$("select[name=vzory]");

  dr.change(function () {
      $(dr,"option:selected").each(function () {
      nastav_vzory();
      });
  })


Po načtení dokumetu se do proměnných uloží odkaz na jednotlivé prvky (selecty). dr.change() říká, že když změním select s názvem "druh" má se provést uživatelem definovaná akce. Na odebrání starých voleb použiju
vz.children().remove();

Pak je jen třeba přidat nové volby
Což dělám pomocí cyklu
for(var i=0;i < vzory.poj[zkratka].length;i++)
s+="<option value="+i+">"+vzory.poj[zkratka][i][0]+vzory.poj[zkratka][i][0]+"</option>\n";  


Query musíš načíst jako modul
ah01
Profil
Honza_n:
Stejný dotaz, jako vedle. Jsi si jistý, že „$(dr,"option:selected")“ dělá to co chceš?

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0