Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [js] lista zależna od selecta
wicc
post
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 30.07.2007

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


Mam pole SELECT w którym są kategorie. Chcę zrobić tak, żeby po wybraniu którejś (bez klikania - onChange) w div'ie poniżej wyświetlała się lista produktów. Zrobiłem coś takiego (pracuję na SMARTY i korzystam z jQuery oraz script.aculo.us)

katalog.tpl
  1. <select name="cat" onChange="show_products(this)">
  2. <option value="0">wybierz</option>
  3. {section name=i loop=$cats_list}
  4. <option value="{$cats_list[i].cat_id}">
  5. {$cats_list[i].cat_name}
  6. </option>
  7. {/section}
  8.  
  9. {section name=i loop=$products_list}
  10. <div id="{$products_list[i].product_id}">{$products_list[i].product_name}</div>
  11. {/section}

funkcja wysyłająca ID wybranej kategorii
  1. function show_products(sel)
  2. {
  3. var cat = sel.options[sel.selectedIndex].value;
  4.  
  5. new Ajax.Request("action.php", {
  6. method: "post",
  7. parameters: { id : cat }
  8. });
  9. }

action.php
  1. <?php
  2. if($_POST['id']!='')
  3. {  
  4. $q = mysql_query("SELECT * FROM products WHERE product_cat = '$cat'");
  5. $products_list = array();
  6. while ($tab = mysql_fetch_assoc($q))
  7.  {
  8. $products_list[] = $tab;
  9.  }
  10.  $smarty->assign('products_list', $products_list);
  11. }
  12. ?>


nie wiem dlaczego tablica $products_list nie jest przekazywana do szablonu :/ funkcja na pewno wchodzi do pętli if($_POST['id']!='') w pliku action.php bo to sprawdzałem.
Go to the top of the page
+Quote Post

Posty w temacie


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: 20.08.2025 - 13:02