Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][AJAX][XML]
Forum PHP.pl > Forum > Przedszkole
josephin_1
witam,

mam w formularzu dwa pola <select> jak cos sie zaznaczy w pierwszym polu - w tle jest wykonywany skrypt php ktory zwraca dane w postaci xmla

<records>
......
<record>
<ID> $id_podkategorii </ID>
<nazwa> $nazwa </nazwa>
<wynik> $wynik </wynik>
</record>
.......
</records>


Skrypt javascript ktory to mieli wyglada tak:


function a$(id){
return document.getElementById(id);
}

function parseRecords(xml) {

var opttypes = document.getElementById("podkategorie");
record = xml.getElementsByTagName("record");

ID = new Array();
nazwa = new Array();

for (i = 0; i < record.length; i++) {
nazwa[i] = record[i].childNodes[1].childNodes[0].nodeValue;
ID[i] = record[i].childNodes[0].childNodes[0].nodeValue;

}

for (i = opttypes.options.length-1; i >= 0; i--) {
opttypes.remove(i);
}

for(var i = 0; i < nazwa.length; i++) {
opttypes.options[i] = new Option(nazwa[i],ID[i]);
}
}

function getRecords() {
var kategoria = $("kategorie").value;

advAJAX.get({
url : "odpowiedz.php?kategoria="+kategoria,
onInitialization : function(obj) {
a$("podkategorie").disabled="true";
},
onSuccess : function(obj) {
parseRecords(obj.responseXML);
a$("podkategorie").disabled="";
}
});
}


Wszystko pieknie ladnie dziala, javascript zwraca wynik w postaci
.....
<option value=' ID '> nazwa </option>
......


chcialabym tak zmodyfikowac skrypt javascriptowy by wynik byl w postaci
.....
<option value=' ID '> nazwa (wynik)</option>
......


jakies pomysly??
erix
Owszem. winksmiley.jpg

Dodaj do pętli mielącej ID i nazwy adekwatną linijkę do wyników. Nie musisz się nawet specjalnie wysilać, byleby odpowiednio. winksmiley.jpg

Cytat
Kod
opttypes.options[i] = new Option(nazwa[i],ID[i]);

I tutaj dodajesz odpowiednią nazwę tablicy. Poczytaj o łączeniu stringów.
josephin_1
a co mam zrobic jak chcialabym by ajax zwracal wynik w postaci

<option value='id_podkategorii' class='option'> nazwa </option>

gdzie w kodzie wstawic class='option'
bardzo wazne.. please help
erix
Z tego, co kombinowałem, to chyba pozostaje tylko nadanie identyfikatora opcji i odwołanie się do niej przez DOM. Wtedy klasę nadajesz tak, jak innym obiektom drzewa.
josephin_1
a po polsku prosze?

probowalem tak ale nie dziala

for(var i = 0; i < nazwa.length; i++) {
opttypes.options[i] = new Option(nazwa[i]+" ("+wynik[i]+")",ID[i]+" class='option' ");
}

czy to wogle jest mozliwe?? z tego co widze to mozna tylko ustawic wartosci value, name i selected



wiecej tutaj:
http://www.devguru.com/Technologies/Ecmasc...ref/option.html
erix
http://kurs.browsehappy.pl/JavaScript/DOM
josephin_1
ok dziekuje za udzielone odpowiedzi. Skorzystalem z innej biblioteki ajaxowej (minajax) - problem znikl.
Temat uwazam za zamkniety.

PS. nie polecam w znaczniku <option> wstawiac jakichkolwiek styli css - Tylko FireFox je interpretuje - reszta przegladarek nie widzi tego
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.