Autor Zpráva
MilanJ
Profil
Má pole $pole[] vytvořené pomocí PHP a zajímalo by mě, jestli je možné do něj zapisovat pomocí JavaScriptu.
Tomik
Profil
Toho lze IMHO docílit pouze použítí AJAXU, a spíš než do pole bych zapisoval do DB.

Více o AJAXu u Medhiho: http://citron.blueboard.cz/clanek-239-ajax-navod-pro-zacatecniky.html
MilanJ
Profil
No...tak to nevím.

Mám 2x <SELECT>...</SELECT>, jeden obsahuje data načtená z db, druhý je prázdný.
Potřebuji tlačítkem PŘIDAT a ODEBRAT manipulovat s daty z prvního SELECTu tak, abych mohl přidávat a odebírat data do/z SELECTu prázdného, a ty data následně zapsat do db.

Nenapadá Vás něco?
Tomik
Profil
Tak v tom případě by bylo jednodušší, prostě si to ukládat do pole v JS a posléze po odeslání formuláře je pomocí jednoduchého PHPka zapsat do DB.

Nebo případně pomocí JS měnit obsah toho druhé SELECTu...
MilanJ
Profil
Můžu načíst tabulku db v MySQL do JavaScriptového pole? Jak?
souki
Profil
nestačí přes PHP vygenerovat přímo kód javascriptu?
MilanJ
Profil
Já hlavně nevím, jak zajistit předávání mezi oběma SELECTy, a samozřejmě ani nevím, jak údaje ze SELECTu, na který se data přenáší, vycucnout a uložit.:-(
souki
Profil
bud dát na první select onchange="location.href='?vyber=5'" nebo si vygenerovat další selecty a ty vypínat a zapínaat taky přes onchange
MilanJ
Profil
bud dát na první select onchange="location.href='?vyber=5'" nebo si vygenerovat další selecty a ty vypínat a zapínaat taky přes onchange
Obávám se, že nerozumím, jak?
MilanJ
Profil
Byl by nějaký srozumitelný příklad?
souki
Profil
jestli jsem to dobře pochopil tak chceš po vybrání položky v prvním selectu změnit položky druhého- jakoby podmenu... nebo ne?
tak si ke každé položce vygeneruješ jeden select s vlastností disabled a display:none... přes onchange na prvnim si uděláš funkci, která všechny skryje a zobrazí jen ten vybraný
MilanJ
Profil
jestli jsem to dobře pochopil tak chceš po vybrání položky v prvním selectu změnit položky druhého- jakoby podmenu... nebo ne?
Maličko jinak... první SELECT obsahuje údaje načtené z databáze. Vedle něj by měly být tlačítka PŘIDAT/ODEBRAT, která zajistí, že se údaj vybraný v levém SELECTU (toho s údaji z db) do SELECTu ravého, který je zatím prázdný a čeká, až do něj uživatel něco vybere.
A nakonec bych potřeboval, aby uživatel mohl vybrané údaje uložit do databáze.
Zápasím s tím už 2 dny a nic.:-((
souki
Profil
takže jako přidávání komponent pro instalaci ted nevim u čeho....
já bych to asi při každém výběru odeslal (jen to lehce problikne) a vygenroval tu položku navíc..... ale to by se muselo třeba v <input type="hidden" posílat jaké položky byly v druhém selectu
MilanJ
Profil
Pomocí Java Scriptu by to nešlo? ...já osobně nevím jak...
souki
Profil
javascript nedokáže zapisovat do stránky... ale vlastně by to šlo udělat jak jsem psal předtim ale trošku jinak....
vygenerovat do druhého selectu <option> pro všechny volby a dát jim display:none a tlačítky Přidat odebrat je zapínat a vypínat... to by snad i mohlo jít :)
MilanJ
Profil
To asi ano, jak pak ale rozliším, který uložit a který ne?
souki
Profil
a...... chybka..... třeba dát na odesílací tlačítko funkci která je všechny vybere a tomu selectu nastavit multiple="multiple" ... apk se to pošle jako pole
MilanJ
Profil
Jak říkám, motám se v tom dlouho a ne a ne přijít na řešení.
souki
Profil
popřemýšlím kde bych to mohl u sebe použít a případně to zkusim napsat... ale nejdřív tak zítra večer....


<script>
function pridej(){
id = document.getElementById("prvni").value;
document.getElementById("volba"+id).style.display='inline';
}
</script>
<form action="">
<select id="prvni" size="10">
<option value="1">1</option>
</select>
<input type="button" onclick="pridej()" />


<select id="druhy" size="10" multiple="multiple">
<option value="1" id="volba1" style="display:none" name="volby">1</option>
</select>
<input type="submit" onclick="oznac()" />
</form>


ehm.... tak jsem nakonec kus napsal.... takhle nějak.... to označení už je pak jednoduše cyklem přes getElementsByName("volby") ..... sám jsem zvědav jestli to půjde =)

EDIT: pár překlepů
MilanJ
Profil
Díky moc.;-)
Toto téma je uzamčeno. Odpověď nelze zaslat.