Chciałem osiągnąć wybieranie kategorii przy dodawaniu produktu takie jakie jest na allegro podczas wystawiania przedmiotu. To znaczy po kliknięciu w jednej select liscie pojawia się kolejna. A przy kliknięciu na trzecią całość przesuwa się w lewo. I pierwsza select lista jest drugą.

Napisałem taki kod. Działa do pierwszego kliknięcia na 3 listę. Później nie odświeżają się 1 i 2 druga lista.

[JAVASCRIPT] pobierz, plaintext
  1. $("#category1").live('change', function(){
  2. id = $(this).attr("value");
  3. $.get('/aukcje/pl/auction/echo_have_children/'+id, function(data) {
  4. if(data == 1){
  5. $("#category2").load("/aukcje/pl/auction/echo_children_cat/"+id+"/2");
  6. $("#cat_id").attr("value", '');
  7. }else{
  8. $("#cat_id").attr("value", id);
  9. //alert(id);
  10. $("#category2").html('');
  11. $("#category3").html('');
  12. }
  13. });
  14. });
  15.  
  16. $("#category2").live('change', function(){
  17. id2 = $(this).attr("value");
  18. $.get('/aukcje/pl/auction/echo_have_children/'+id2, function(data) {
  19. if(data == 1){
  20. $("#category3").load("/aukcje/pl/auction/echo_children_cat/"+id2+"/3");
  21. $("#cat_id").attr("value", '');
  22. }else{
  23. $("#cat_id").attr("value", id2);
  24. // alert(id2);
  25. $("#category3").html('');
  26. }
  27. });
  28. });
  29. $("#category3").live('change', function(){
  30. id3 = $(this).attr("value");
  31. $.get('/aukcje/pl/auction/echo_have_children/'+id3, function(data) {
  32. if(data == 1){
  33. $("#category1").load("/aukcje/pl/auction/echo_children_cat/"+id+"/1");
  34. $("#category2").load("/aukcje/pl/auction/echo_children_cat/"+id2+"/2");
  35. $("#category3").load("/aukcje/pl/auction/echo_children_cat/"+id3+"/3");
  36. $("#cat_id").attr("value", '');
  37. }else{
  38. $("#cat_id").attr("value", id3);
  39. //alert(id3);
  40. }
  41. });
  42. });
[JAVASCRIPT] pobierz, plaintext