Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Jquery] auto populate
Forum PHP.pl > Forum > XML, AJAX
Konfucjusz
witam serdecznie

mam problem z auto wypelnianiem select boxa w jquery (zasada : zaznaczenie select boxa kategorii powoduje, ze w drugim select boxie wyswietlaja sie podkategore zaznaczonej kategorii ).

Próbuje juz kilka godzin i nic.
Wydaje mi sie, ze to jakis glupi blad tylko nie moge go zauwazyc, zatem prosze jakies sokole oko i nie tylko smile.gif o pomoc.

mam taki html
  1. <form action="/index.php/firma/save" method="post" accept-charset="utf-8" enctype="multipart/form-data">
  2. ...
  3. <label for="category">Category</label>
  4. <select id="category" name="category">
  5. <option value="1">eded</option>
  6. <option value="2">wsws</option>
  7. <option value="3">wsws</option>
  8. <option value="4">wsws</option>
  9. <label for="subcategory">Subcategory</label>
  10. <select id="subcategory" name="category">
  11. <option value="1">Subcategory</option>
  12. </select></p>
  13.  
  14. ...
  15.  
  16. </form>


taki js
  1. $(function(){
  2. $("select#category").change(function(){
  3. $.getJSON("http://localhost/index.php/firma/getJsonSubcategories",{id: $(this).val()}, function(json){
  4. var options = '';
  5. for (var i = 0; i < json.length; i++) {
  6. options += '<option value="' + json[i].optionValue + '">' + json[i].optionDisplay + '</option>';
  7. }
  8. $("select#subcategory").html(options);
  9.  
  10. });
  11. });
  12. });


no i getJsonSubcategories (jest to metoda w kontrolerze a to sa dane testowe)
  1. if ($_GET['id'] == 1) {
  2. echo <<<HERE_DOC
  3. [ {optionValue: 0, optionDisplay: 'Mark'}, {optionValue:1, optionDisplay: 'Andy'}, {optionValue:2, optionDisplay: 'Richard'}]
  4. HERE_DOC;
  5. ;
  6. } else if ($_GET['id'] == 2) {
  7. echo <<<HERE_DOC
  8. [{optionValue:10, optionDisplay: 'Remy'}, {optionValue:11, optionDisplay: 'Arif'}, {optionValue:12, optionDisplay: 'JC'}]
  9. HERE_DOC;
  10. } else if ($_GET['id'] == 3) {
  11. echo <<<HERE_DOC
  12. [{optionValue:20, optionDisplay: 'Aidan'}, {optionValue:21, optionDisplay:'Russell'}]
  13. HERE_DOC;
  14. }
  15. }


i teraz jak klikam na kategorie w select boxie to wg firebuga leci żądanie (mam http://localhost/index.php/firma/getJsonSubcategories?id=3 200 OK)

ale nic sie nie dzieje tzn. testowe dane nie sa wgrywane do drugiego selectboxa.

Jquery oczywiście jest dolączone. myśl ze gdzieś mam jakis głupi błśd i dlatego nie chodzi

Pozdrawiam
konfucjusz
Riggs
Na początek sprawdź w firebugu co dostajesz w odpowiedzi. Bo może w skrypcie coś jest nie tak.
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.