[ pajko111 @ 06.06.2007. 11:00 ] @
Ovako stoje stvari. Na php stranici imam formu i u njoj combo boxove za izbor kategorija. Potrebno mi je da kad korisnik izabere glavnu kategoriju,da se drugi combo automatski promeni da prikazuje samo podkategorije izabrane glavne kategorije,kad se izabere drugi combo da se promeni treci....... Ja sam uspeo ovo da dobijem za prva dva comboa ali nece da radi za ostale. Evo kodova: Ovo su comboi: Code: <select name="maintag" id="maintag" onchange="showUser(this.value)"> </select> <select name="subtag" id="maintag" > <!--Znaci ovde bi trebalo isto onchange event ali da popunjava ovaj donji combo --> </select> <select name="subtag1" id="maintag"> </select> Ovo je JS: Code: var xmlHttp function showUser(str) { xmlHttp=GetXmlHttpObject() if (xmlHttp==null) { alert ("Browser does not support HTTP Request") return } var url="get.php" url=url+"?q="+str url=url+"&sid="+Math.random() xmlHttp.onreadystatechange=stateChanged xmlHttp.open("GET",url,true) xmlHttp.send(null) } function stateChanged() { if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { document.getElementById("subtag").innerHTML=xmlHttp.responseText } } function GetXmlHttpObject() { var xmlHttp=null; try { // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); } catch (e) { //Internet Explorer try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } } return xmlHttp; } A ovo je php koji daje sadrzaj donjeg comboa: Code: <?php $q=$_GET["q"]; //$con = mysql_connect('localhost', 'root', '1tofast'); //if (!$con) //{ // die('Could not connect: ' . mysql_error()); // } //mysql_select_db("aukcija", $con); include '../config.php'; $sql="SELECT node.name, (COUNT(parent.name) - (sub_tree.depth + 1)) AS depth FROM category AS node, category AS parent, category AS sub_parent, ( SELECT node.name, (COUNT(parent.name) - 1) AS depth FROM category AS node, category AS parent WHERE node.lft BETWEEN parent.lft AND parent.rgt AND node.name = '$q' GROUP BY node.name ORDER BY node.lft )AS sub_tree WHERE node.lft BETWEEN parent.lft AND parent.rgt AND node.lft BETWEEN sub_parent.lft AND sub_parent.rgt AND sub_parent.name = sub_tree.name GROUP BY node.name HAVING depth = 1 ORDER BY node.lft;"; $result = mysql_query($sql); ?> <option style="background-color:#dcdcc3;" value="" selected>-- Select Sub tag--</option> <? while($row = mysql_fetch_object($result)) { echo '<option value="'.$row->name.'">'.$row->name.'</option>'; } echo "</table>"; //mysql_close($con); ?> U sustini php je uvek isti,samo u js-u se menja vrednost parametra koji se prosledjuje i ime elementa u koji se stavlja rezultat. Pokusao sam sa jos jednim js-om za drugi combo ali nece. POmagajte! |