| | |
| Stránka: 1 z 1
| [ Príspevkov: 12 ] | |
Autor | Správa |
---|
Registrovaný: 21.01.10 Prihlásený: 10.05.16 Príspevky: 92 Témy: 33 |
Mozno je nazov dost chaoticky ale nevedel som ako to mam nazvat.
V podstate ide o to ze mam jeden select a v nom mam napr 2 moznosti, kliknem na jednu a v druhom selecte mi nacita tie moznosti ktore prisluchaju prevemu selectu ponmocou id.
Robim to spolu z php , kedze data taham v DB.
v php mam pole ze
Array (
[1] => Array (
[0] => 1
[1] => 3
[2] => 4
)
[2] => Array (
[0] => 5
)
)
tie prve cisla cisla 1 a 2 su id, a k nim prislucha nejaka skupina dalsich id, cize v id 1 prisluchaju id 1,3,4.
Toto cele by som potreboval dat do javascriptu, lebo by som to chcel robit tak ze ked sa zmeni selectIndex v prvom selecte tak v druhom sa nacitaju moznosti s tymi id ktore su v poli.
Dakujem za kazdu radu.
A nechcem pouzit Ajax.
|
|
Registrovaný: 27.11.10 Prihlásený: 20.08.13 Príspevky: 112 Témy: 18 | Napísal Ando: 01.01.2011 17:57 | |
|
Ak to chces bez pouzitia ajaxu, tak jedina moznost je vopred nacitat vsetky mozne stavy tych selectov. Takze presne take iste polia ako mas v PHP si musis dat do JS. To neni problem. No a potom staci uz len naprogramovat skript ktory ti bude menit hodnoty v tych selectoch. Doporucujem jQuery. Je to najjednoduchsie. Len nechapem preco nechces pouzit ajax.
|
|
Registrovaný: 21.01.10 Prihlásený: 10.05.16 Príspevky: 92 Témy: 33 | Napísal autor témy kurtulik1: 01.01.2011 18:03 | |
|
to je moj hlavny problem ako to dat z php do javascriptu.
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 Bydlisko: Žilina |
práve cez ajax....
_________________ C#, PHP, ... |
|
Registrovaný: 21.01.10 Prihlásený: 10.05.16 Príspevky: 92 Témy: 33 | Napísal autor témy kurtulik1: 01.01.2011 19:03 | |
|
ja to skusam takto ale nejde to
echo "<script language=\"javascript\">
var abc=new Array;";
while($rowv = mysql_fetch_array($resultv)){
$queryv1 = "SELECT id,nazov FROM vybavenie_skupiny where idd='$rowv[id]'";
$resultv1 = mysql_query($queryv1);
echo "abc[".$rowv['id']."]=new Array;";
while($rowv1 = mysql_fetch_array($resultv1)){
echo "abc[".$rowv['id']."][]='".$rowv1['id']."';\n";
}
}
neda sa to nejako podobne bez ajaxu?
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 01.01.2011 19:28 | |
|
Data z PHP do JS bude najjednoduchsie previest do JSON - PHP fcia json_encode().
|
|
Registrovaný: 27.11.10 Prihlásený: 20.08.13 Príspevky: 112 Témy: 18 | Napísal Ando: 01.01.2011 21:44 | |
|
Ja som mal na mysli ten sposob ze normalne pomocou foreach a echo vypises vsetky hodnoty daneho pola, (napr. ziskaneho ako vysledok z databazy) do JS kodu. Je to uplne primitivne a funkcne.
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 02.01.2011 10:48 | |
|
Urcite? Evidentne nemyslis na to, ze by si musel v cykle napriklad ziskavat typ hodnoty v poli, aby si vedel, ci vypisat uvodzovky pre retazec alebo nie. Nezabudaj na escapovanie, co ked v retazci budes mat napriklad spatne lomitko? Dalej ak by si mal nahodou pole v poli, musel by si tento tvoj algoritmus volat rekurzivne. Nehovoriac o tom, ze by si musel najprv zistit, ci potrebujes to PHPckove "pole" vypisovat ako objekt alebo len ako proste pole, pretoze ak by si mal v poli len jednoduche ciselne indexy a vypisoval by si to ako objekt vymenovanim dvojic index-hodnota, vzniklo by ti nieco, co sa ako pole vobec neda pouzit. Moj sposob je ovela jednoduchsi a ovela funkcnejsi. http://sk2.php.net/json_encode
|
|
Registrovaný: 21.01.10 Prihlásený: 10.05.16 Príspevky: 92 Témy: 33 | Napísal autor témy kurtulik1: 02.01.2011 14:09 | |
|
ako to hodim do toho pola pomocou json_encode?
dostal som nieco taketo
{"1":["1","3","4"],"2":["5"]}
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 02.01.2011 14:14 | |
|
Toto ti staci priradit do premennej v JS, cize nieco ako Kód: var o = <?php echo json_encode($o); ?>; (uprav si nazvy premennych)
Inak davaj pozor na to, ze v PHPcku si indexy v poli zacal cislovat od 1, z toho dovodu ti json_encode vypluva objekt, nie pole, takze v JS sa ti bude s tymto objektom tazko pracovat, ak s nim chces pracovat ako s polom. Preto odporucam cislovat od nuly.
|
|
Registrovaný: 21.01.10 Prihlásený: 10.05.16 Príspevky: 92 Témy: 33 | Napísal autor témy kurtulik1: 02.01.2011 14:21 | |
|
musi to tak byt kedze tie cisla 1 a 2 su id, ku ktorym prisluchaju ine id
(vsetko su to cisla)
ja potrebujem iba to ze ked vyberiem select tak mi vytvori iny select(co uz mam) a naplni ho tymi id, ktore spadaju pod dane id.
neda sa to nejako podobne ako som uviedol? mam mat pole v poli.
Mohly by ste mi prosim poradit je to velmi surne, nikde na nete to nemozem najst.
|
|
Registrovaný: 28.02.09 Prihlásený: 19.02.18 Príspevky: 241 Témy: 56 |
tvoj prvy select :
Kód: <select name="prvy_select" id="prvy_select"> <option value=""></option> <option value="1">prva volba</option> <option value="2">druha volba</option> <option value="3">tretia volba</option> </select>
tvoj druhy select : Kód: <select name="druhy_select" id="druhy_select"> <option value=""></option> </select>
javascript (musis tam mat jquery): Kód: function getIdcka(){ $("#prvy_select").change(function() { $("#prvy_select option:selected").each(function () { $.ajax({ url: 'vytiahni_mi_idcka.php?kategoria='+$(this).val(), dataType : 'json', success : function(data){ if (data.error === true){ alert(data.msg); }else{ $("#druhy_select").html(data.content); } } }); }); }); }
php subor vytiahni_mi_idcka.php: Kód: $typ = $_GET['kategoria']; $return['error'] = false;
$this->load->model('default_model','default'); $typ = $_GET['kategoria']; $sql_idcka = "SELECT id, text FROM tabulka_s_idckami WHERE kategoria='".$typ."'";
$res_idcka = mysql_query($sql_idcka);
if($res_idcka==null){ $return['msg'] = "ziadne id tejto kategorie"; $return['error'] = true; }else{ foreach($res_idcka as $row){ $data['options'] .= "<option value='".$row['id']."'>".$row['text']."</option>"; } $return['content'] = "<option value=''></option>".$data['options']; } ob_clean(); echo json_encode ($return);
no tak takto niejak..nvm ci to je vsetko okey...v tom php mozno bude niekde chyba ..kazdopadne takto by to malo byt
|
|
| Stránka: 1 z 1
| [ Príspevkov: 12 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| presun zo selectu do selectu v JavaScript, VBScript, Ajax | 13 | 628 | 31.10.2009 12:31 neopagan | | sirka selectu v HTML, XHTML, XML, CSS | 2 | 436 | 20.11.2009 19:45 neopagan | | prerobenie selectu v Databázy | 3 | 568 | 16.05.2010 18:39 rooobertek | | Štýlovanie selectu v HTML, XHTML, XML, CSS | 3 | 373 | 08.07.2012 10:43 Ďuri | | interaktivna zmena selectu v PHP, ASP | 8 | 589 | 19.05.2010 20:46 jablko05 | | vytvorit novy select podla prveho selectu v JavaScript, VBScript, Ajax | 2 | 371 | 23.07.2010 15:19 DeeJay3 | | vyberam data do selectu a nejde odkaz v PHP, ASP | 0 | 293 | 06.01.2010 14:06 Vcelar | | Program na zmenu hlasu v Ostatné programy | 7 | 8616 | 10.02.2006 22:43 Intelman | | program na zmenu kodovania v Ostatné programy | 0 | 588 | 31.03.2007 19:13 javo | | skript na zmenu obrazku v JavaScript, VBScript, Ajax | 8 | 1227 | 04.05.2008 12:04 emer | | Program zmenu formatu filmov v Video programy | 0 | 460 | 29.11.2011 16:10 Nerro | | Program na zmenu lišty v Ostatné programy | 1 | 378 | 23.03.2015 10:28 shiro | | Program na zmenu dvd regionu v Ostatné programy | 1 | 852 | 26.05.2010 13:52 Black Scorpion | | V BIOSE nemam zmenu frekvencie:( v Biosy a ladenie výkonu | 2 | 604 | 21.11.2007 19:30 OmeGa | | Ako upozornit uzivatela na zmenu v PHP, ASP | 19 | 719 | 04.03.2008 22:06 vl4kn0 | | Čo zapríčiní IP zmenu adresy? v Poskytovatelia internetu | 4 | 707 | 12.11.2015 12:05 tairikuokami |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|