Saludos [EMAIL PROTECTED] de la lista, les escribo pues tengo una duda con la
que
espero puedan ayudarme. Tengo un par select's, ellos contendra las
categorias y el segundo las subcategorias que correspondan con la
categoria que se seleccione del primer elemento select y para esto
estoy hechando mano de Ajax. El problema que tengo es que no logro
"limpiar" los subcategorias del segundo combo cuando selecciono otra
categoria del primer select. El codigo que uso es el siguiente:
function getData() {
var eCategory = document.getElementById("cbocategory");
var eSubCategory = document.getElementById("cbosubcategory");
if (eCategory.selectedIndex != 0) {
var iSelectedCategory = eCategory.value;
var querystring = "?cat="+iSelectedCategory;
var oXmlHttp = zXmlHttp.createRequest();
oXmlHttp.open("get", "zz-get-childcategories.asp"+querystring, true);
oXmlHttp.onreadystatechange = function() {
if(oXmlHttp.readyState == AjaxConst.XMLHTTP_STATUS_COMPLETE) {
if(oXmlHttp.status == AjaxConst.HTTP_RESPONSE_STATUS_OK) {
fillSubcategories(oXmlHttp.responseText);
} else {
//~ showResult("Ocurrio un error. " + oXmlHttp.statusText);
}
}
};
oXmlHttp.send(null);
}
}//;
function fillSubcategories(arData) {
eSubCategory = document.getElementById("cbosubcategory");
arGroupPairData = arData.split("|");
for(var i=0; i<arGroupPairData.length; i++) {
var sPairValueText = arGroupPairData[i].split(",");
addOptions(eSubCategory, sPairValueText[0], sPairValueText[1]);
}
}//;
function addOptions(eSelect, sValue, sText) {
var eNewOption = document.createElement('option');
eNewOption.value = sValue;
eNewOption.text = sText;
try {
eSelect.add(eNewOption, null); // standard compliant
} catch(ex) {
eSelect.add(eNewOption); // for ie only
}
}//;
function clearPreviusOptions() {
var eSelect = document.getElementById("cbosubcategory");
if(eSelect.length > 1) {
for(i=1;i<eSelect.length;i++) {
//~ eSelect.options[i]=null;
eSelect.remove(i);
}
}
}//;
function getNumItems() {
var eSelect = document.getElementById("cbosubcategory");
clearPreviusOptions(eSelect, eSelect.length);
}//;
function init() {
var eCategory = document.getElementById("cbocategory");
addEvent(eCategory, "click", clearPreviusOptions, false);
addEvent(eCategory, "change", getData, false);
}//;
addLoadEvent(init);
Espero puedan ayudarme con este tema.
Saludos.
--
-------------------------------------------------------------
_o) Yurk!
// \ Linux Registered User #418034
U_/_
Dile NO al top-posting[*]
[*] ttp://es.wikipedia.org/wiki/Top-posting
-------------------------------------------------------------
_______________________________________________
javaEScript mailing list
[email protected]
http://lists.scriptia.net/listinfo.cgi/javaescript-scriptia.net