Jedino što AJAX može da čita kao response je upravo string, odnosno ono što output-uje taj neki PHP skript (ajax handler). E al' tu ima još nešto

, ne znam dal' si čuo za format podataka po imenu
JSON. Grubo govoreći, ti uz pomoć JSON-a možeš da predstaviš neki niz ili objekat u vidu string-a, npr. ovako nešto:
Code:
$niz = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
A kad to prebaciš u JSON dobiješ ovako nešto:
Code:
{"a":1,"b":2,"c":3,"d":4,"e":5}
Jako korisna stvar.

I ti sad onda lagano možeš taj string, koji je u stvari niz da output-uješ i da vratiš AJAX-u.
U PHP-u imaš gotove funkcije za rad sa JSON formatom, za enkodovanje u JSON i dekodovanje iz JSON-a:
http://php.net/manual/en/book.json.php. Mada ja više praktikujem da koristim ZF-ovu komponentu Zend_Json, pošto te ugrađene PHP-ove funkcije ne rade kako treba sa UTF8 enkodingom. A što se podrške u JS-u tiče, imaš i jedan plugin za jQuery:
http://code.google.com/p/jquery-json/, koji omogućava rad sa JSON formatom u JS-u.
Dakle, procedura bi bila ovakva:
- u tom AJAX handler-u, rezultat (taj neki niz) output-uješ kao JSON, uz pomoć pomenutih funkcija,
- u JS-u, nakon izvršenog request-a pokupiš taj output i dekoduješ ga (pretvoriš u niz) uz pomoć pomenutog jQuery plugin-a,
- i posle dodaš nove stavke u select box.