Cascading dropdown ved brug af JSP og AJAX
Hej Eksperter!Jeg har 5 dropdown menuer, men når man vælger en, opdateres siden og alle dropdown-menu filteres efter valget. Det er en langsom og ikke så køn måde at gøre det på, og er der for faldet over Cascading dropdown. Har nu søgt nogle timer og har ikke fundet nogle eksempler jeg kan bruge, da de alle næsten er ASP.
Når du opretter et spørgsmål(her på eksprten) og vælger kategori. Det er næsten sådan jeg ønsker det skal være. Alle kategorier skal bare være tilgængelige fra start.
Har leget med den kode der er her på siden, men er ikke så gode venner med AJAX så har brug for lidt hjælp.
PT. kører scriptet når der vælges noget. MEN ved ikke hvordan jeg får ajax til at kaldes min JSP side hvor den returer et array med OPTION muligheder i dropdown menuen.
=========================================
AJAX KODEN
==========================================
function getCategories(parentid, selectid) {
var url = '/callback?op=getCategories&method=json&id='+parentid;
//notice.update("<img src='/theme/images/ajax-loader.gif' alt='' />");
//$("newquestioncategoryid").value="0";
new Ajax.Request(url, {
method: 'get',
onSuccess: function(transport, json) {
var cats = json;
alert('virker');
createCatOptions(json,selectid);
},
onFailure: function(e) {
$('ajaxnotice');
alert('FEJL');
//notice.update("<img src='/theme/images/warning.gif' title='FEJL: "+e+"'alt='' />");
},
onComplete: function(transport) {
if (200 == transport.status) notice.update("");
var catid = 0;
if ($("sub_cat2").selectedIndex != 0) {
catid = $("sub_cat2").value;
} else {
if ($("sub_cat1").selectedIndex != 0) {
catid = $("sub_cat1").value;
} else {
if ($("main_cat").selectedIndex != 0) {
catid = $("main_cat").value;
}
}
}
if (catid != 0) {
switch (parseInt(catid)) {
case 2:
$("newquestioncategorydesc").innerHTML = "- Her kan du få viden om det C lignende script sprog PHP (Hypertext Preprocessor).";
$("newquestioncategoryid").value="2";
break;
$("newquestioncategorydesc").innerHTML = "<span style='color: #ff0000;'>Der kan ikke oprettes spørgsmål i den valgte kategori</span>";
break;
}
}
}
});
}
