load combo with xml file and select a certain item

Hi!
I use the dhtmlxCombo script with the xml loading :

var z=new dhtmlXCombo("combo_zone2","alfa2",194, 'image'); z.loadXML("../myxml.xml");
Everything works fine, but I want to select a certain item with javascript…how can I do that?
This should works…

z.setComboValue(<?php echo $status;?>); but indeed not!

Thanks for your help!

Hello

setComboValue method should be called after xml loading - the second parameter of the loadXML method:

z.loadXML("…/myxml.xml",function(){

 z.setComboValue(<?php echo $status;?>);

})

Thanks so much !

hi !
i’have same problem but i’m using Combo groups.
and i need to load default values.

and the load method dont work !!!
are there any event called after the combo is loaded (xml) ?.

//ComboBox Region
var z_reg=new dhtmlXCombo(“combo_reg”,“rech_cod_reg”,100);
z_reg.enableFilteringMode(false);
z_reg.attachChildCombo(z_vil,"./ajax/_ville.asp");
z_reg.loadXML("./ajax/_region.asp",function() {z_reg.selectOption(z_reg.getIndexByValue(‘PARIS’));});

//ComboBox Pays
var z_pay=new dhtmlXComboFromSelect(“combo_pay”,120);
z_pay.attachChildCombo(z_reg,"./ajax/_region.asp");
z_pay.selectOption(z_pay.getIndexByValue(“FR”));

Thanks

hi
i’v tried to use costum groups (see code below) but i dont find the solution !
please help :

		<td>
		    <div id="combo_pay22" >
		        <select style='width:200px;margin:2px;' id="combo_pay" name="rech_cod_pay">
                <option value="TN">Tunisie</option>
                <option value="DZ">Algerie</option>
                <option value="BE">Belgique</option>
                <option value="CA">Canada</option>
                <option value="FR">France</option>
                <option value="MA">Maroc</option>
                <option value="SN">Senegal</option>
                <option value="SZ">Suisse</option>
		        </select>
		    </div>
		    <a href="javascript:void(0)" onclick="z_pay.selectOption(z_pay.getIndexByValue('<%=s_cod_pay%>'));">set <%=s_cod_pay%></a>
		</td>
		<td><div id="combo_reg" ></div></td>
		<td><div id="combo_vil" ></div></td>
		<td><div id="combo_loc" ></div></td>
	    <script type="text/javascript">	
            function reloadCombo_reg()
            {
		        alert("z_pay="+z_pay.getActualValue())
                z_reg.clearAll(true);
                z_reg.loadXML("./ajax/_region.asp?parent="+z_pay.getActualValue(),z_reg.selectOption(z_reg.getIndexByValue('<%=d_cod_reg%>')));

            }
            function reloadCombo_vil()
            {
		        alert("z_reg="+z_reg.getActualValue())
                z_vil.clearAll(true);
                z_vil.loadXML("./ajax/_ville.asp?parent="+z_reg.getActualValue(),z_vil.selectOption(z_vil.getIndexByValue('<%=d_cod_vil%>')));
            }
            function reloadCombo_loc()
            {
		        //alert("z_reg="+z_reg.getActualValue())
                z_loc.clearAll(true);
                z_loc.loadXML("./ajax/_localite.asp?parent="+z_vil.getActualValue(),z_loc.selectOption(z_loc.getIndexByValue('<%=d_cod_loc%>')));

            }
		    
		    //ComboBox Localite
		    var z_loc=new dhtmlXCombo("combo_loc","rech_cod_loc",100);
		    z_loc.loadXML("./ajax/_localite.asp",function(){z_loc.selectOption(z_loc.getIndexByValue('<%=d_cod_loc%>'));})
		    
		    //ComboBox Ville
		    var z_vil=new dhtmlXCombo("combo_vil","rech_cod_vil",100);
		    z_vil.enableFilteringMode(false);	
		    //z_vil.attachChildCombo(z_loc,"./ajax/_localite.asp");
		    z_vil.loadXML("./ajax/_ville.asp",function(){z_vil.selectOption(z_vil.getIndexByValue('<%=d_cod_vil%>'));})
    		
    		
		    //ComboBox Region
		    var z_reg=new dhtmlXCombo("combo_reg","rech_cod_reg",100);
		    z_reg.enableFilteringMode(false);	
		    //z_reg.attachChildCombo(z_vil,"./ajax/_ville.asp");
		    z_reg.loadXML("./ajax/_region.asp",function(){z_reg.selectOption(z_reg.getIndexByValue('<%=d_cod_reg%>'));});
	
            
	    
		    //ComboBox Pays
		    var z_pay=new dhtmlXComboFromSelect("combo_pay",120);
		    reloadCombo_reg();
		    //z_pay.attachChildCombo(z_reg,"./ajax/_region.asp");
		    z_pay.selectOption(z_pay.getIndexByValue("<%=s_cod_pay%>"));
		    
	    
	        z_vil.attachEvent("onChange",reloadCombo_loc);
	        z_reg.attachEvent("onChange",reloadCombo_vil);
                z_pay.attachEvent("onChange",reloadCombo_reg);

		    	
	    </script>

Hello,
try to set the second parameter of loadXML method as follows:

z_reg.loadXML("./ajax/_region.asp?parent="+z_pay.getActualValue(),function(){
z_reg.selectOption(z_reg.getIndexByValue(’<%=d_cod_reg%>’))
});
}

hi
yes this method work fine when combo are alone
but don’t work if combo are attached (parent - chield)

Hello,

when the groups extension is used, the xml depends on selection in parent combo. Instead of using groups you may try to use onChange event. Here is the full answer:

viewtopic.php?f=4&t=2521