Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript][AJAX][XML], problem z option
josephin_1
post
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 9.04.2008

Ostrzeżenie: (0%)
-----


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??

Ten post edytował josephin_1 25.11.2008, 17:17:29
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




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.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
josephin_1
post
Post #3





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 9.04.2008

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




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.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
josephin_1
post
Post #5





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 9.04.2008

Ostrzeżenie: (0%)
-----


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

Ten post edytował josephin_1 26.11.2008, 15:18:37
Go to the top of the page
+Quote Post
erix
post
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




http://kurs.browsehappy.pl/JavaScript/DOM


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
josephin_1
post
Post #7





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 9.04.2008

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 23:26