Witajcie, tworze właśnie prosta wyszukiwarkę opartą o drzewo kategorii. W pierwszym selektorze użytkownik wybiera Markę następnie jego wybór jest wychwycony przez js (.change) a wartość np. Ford przypisana do zmiennej, która przy pomocy ajaxa trafia na serwer i ma za zadanie wyświetlić "dzieci" tej kkategori. Niestety kiedy chce zwrócić wynik w php otrzymuje sam kod html.. :/

  1. $(document).ready(function(){
  2. $("#selector").change(function(){
  3.  
  4. var labelname = $( '#selector' ).val();
  5. var ajaxurl = "<?php echo admin_url('admin-ajax.php'); ?>";
  6.  
  7. $.ajax({
  8.  
  9. type : 'post',
  10. url : ajaxurl,
  11. data : { action: 'car_search', labelname: labelname },
  12. success: function(ajaxresponse) {
  13.  
  14. $('#selector2').replaceWith(ajaxresponse);
  15.  
  16. /*
  17. wynikiem jest stworzenie na stronie pustego selektora bez opcji..
  18. jak sprawić żeby w miejscu #selection2 pojawiło się
  19.  
  20. wp_dropdown_categories(
  21. array(
  22. 'orderby' => 'NAME',
  23. 'hierarchical' => 1,
  24. 'child_of' => $is_labelname,
  25. 'depth' => 1,
  26. 'show_option_all' => 'wybierz'
  27. )
  28. );
  29.  
  30. */
  31.  
  32. },
  33. error: function(ajaxresponse) {
  34.  
  35. alert( 'Wystąpił błąd krytyczny aplikacji ;)' );
  36.  
  37. }
  38.  
  39. });
  40.  
  41. //return false;
  42.  
  43. });
  44. });


function.php
  1. function dynamic_car_search(){
  2.  
  3. if(isset($_POST['labelname'])) {
  4.  
  5. $is_labelname = $_POST['labelname'];
  6.  
  7. wp_dropdown_categories(
  8. 'orderby' => 'NAME',
  9. 'hierarchical' => 1,
  10. 'child_of' => $is_labelname,
  11. 'depth' => 1,
  12. 'show_option_all' => 'wybierz'
  13. )
  14.  
  15. );
  16.  
  17. }
  18.  
  19. die();
  20. }


Kolejnym problemem będzie sprawienie aby skrypt był bardziej elastyczny tak żebym mógł pracować głębiej niż 2 selektory np. Marka -> Model -> Typ nadwozia -> Silnik
Z góry dziękuje za pomoc i wszelkie uwagi, miłego weekendu smile.gif