W JS to ja nawet nie raczkuje ;d a potrzebuje jeden skrypt.
Znalazłem taki, lecz niestety nie działa.
Mógłbym prosić o pomoc?
Z góry dziękuje
zamowienie.js
Kod
function getLevel(elem) {
// wybrana opcja
var eid = elem.options[elem.selectedIndex].value;
// jeśli jest 0 to oznacza to że wybrano wybierz kategorię
if (eid == 0) return false;
// następny element
var obj = $($(elem).nextSiblings()[0]);
// blokowanie całego formularza
Form.disable($(elem).parentNode);
// czyszczenie listy do której zostaną dodane pobrane dane
for (i = obj.options.length-1; i >= 0; i--) {
obj.remove(i);
}
// komunikat o ładowaniu
obj.options[0] = new Option("Ładowanie...", 1);
/* komunikacja AJAX'em
* adres pliku pobieramy z atrybutu action formularza
*/
new Ajax.Request($(elem).parentNode.action, {
method: 'get',
parameters: { id: eid },
onSuccess: function(transport) {
for (i = obj.options.length-1; i >= 0; i--) {
obj.remove(i);
}
// wszytkie tagi o nazwie option
record = transport.responseXML.getElementsByTagName("option");
result = "";
obj.options[0] = new Option("-- wybierz kategorię --", 0);
for (i = 0; i < record.length; i++) {
// najpier podajemy wartość, następnie id danego rekordu
obj.options[i+1] = new Option(record[i].childNodes[0].nodeValue, record[i].getAttribute("id"));
}
// odblokowanie formularza
Form.enable($(elem).parentNode);
return result;
}
});
}
function getItem(id) { /*Coś tu można wrzucić */ }
// wybrana opcja
var eid = elem.options[elem.selectedIndex].value;
// jeśli jest 0 to oznacza to że wybrano wybierz kategorię
if (eid == 0) return false;
// następny element
var obj = $($(elem).nextSiblings()[0]);
// blokowanie całego formularza
Form.disable($(elem).parentNode);
// czyszczenie listy do której zostaną dodane pobrane dane
for (i = obj.options.length-1; i >= 0; i--) {
obj.remove(i);
}
// komunikat o ładowaniu
obj.options[0] = new Option("Ładowanie...", 1);
/* komunikacja AJAX'em
* adres pliku pobieramy z atrybutu action formularza
*/
new Ajax.Request($(elem).parentNode.action, {
method: 'get',
parameters: { id: eid },
onSuccess: function(transport) {
for (i = obj.options.length-1; i >= 0; i--) {
obj.remove(i);
}
// wszytkie tagi o nazwie option
record = transport.responseXML.getElementsByTagName("option");
result = "";
obj.options[0] = new Option("-- wybierz kategorię --", 0);
for (i = 0; i < record.length; i++) {
// najpier podajemy wartość, następnie id danego rekordu
obj.options[i+1] = new Option(record[i].childNodes[0].nodeValue, record[i].getAttribute("id"));
}
// odblokowanie formularza
Form.enable($(elem).parentNode);
return result;
}
});
}
function getItem(id) { /*Coś tu można wrzucić */ }
zamówienie.html
Po wybraniu pierwszej kategorii nie rozwija się następna. Może ma ktoś nawet lepszy kod?
Próbuje to cały czas ogarnąć ale mi nie idzie. Myślę, że dobrym sposobem byłoby jQuery, tylko zupełnie nie wiem jak zabrać się za to... Mógłbym prosić o pomoc? Przeszukałem google, ale nie znalazłem nic ciekawego.