var xmlhttp = false; try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { xmlhttp = false; } } if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp = new XMLHttpRequest(); } function refreshSelects (classes, codes, selElements ) { //classes: 1,4,5,8 //codes: 001,,004, //selElements: array met de select elementen if (xmlhttp) { if (xmlhttp.readyState >= 1 && xmlhttp.readyState <= 3) { xmlhttp.abort(); } var url = 'webshop_get_assortment.asp?classes=' + classes + '&codes=' + codes; //alert(url); xmlhttp.open("GET", url, true); //window.location.href = ("webshop_get_assortment.asp?classes="+classes+"&codes="+codes); xmlhttp.onreadystatechange = function () { if(xmlhttp.readyState == 4){ var optctr, selCode, sel, result; result = new Array(); response = xmlhttp.responseText; // alert(response); eval(response); //nu kan de array gebruikt worden //result[classid][code] = 'desc'; //alert(result[999]['sql']); //document.getElementById("sql").innerHTML = result['sql']; //rebuild all selects for( var key in selElements ){ sel = selElements[key]; selCode = sel.options[sel.selectedIndex].value; optctr = 0; sel.options.length = 0; sel.options[optctr] = new Option("------","",false); for(var classid in result){ if(key == classid){ codes = result[classid]; for(var code in codes){ optctr++; if(selCode == code){ selElements[classid].options[optctr] = new Option(codes[code],""+code+"", true, true); } else selElements[classid].options[optctr] = new Option(codes[code],""+code+"", false, false); } } } if(optctr > 0 ) sel.disabled = false; } progressdone = true; } } xmlhttp.send(null); } }