Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [js?] pole wyboru dostepne po wybraniu pierwszego
lnn
post
Post #1





Grupa: Zarejestrowani
Postów: 361
Pomógł: 11
Dołączył: 17.12.2008
Skąd: LU

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


witam!
mam problem, chce zrobic form select ze po wybraniu 1 opcji dopiero pojawiaja mi sie 2 opcja do wyboru w 2 polu, odpowiednio inne wartosci do wyboru dla kazdej opcji.. i tak np.

opcja AAAA
subopcja A1
subopcja A2
subopcja A3
opcja BBBB
subopcja B1
subopcja B2
subopcja B3
itd.

przeszukalem całe forum i nic nie moglem znalezc, wogole sie zastanawiam czy to JS czy moze AJAX ? Prosze o wyrozumialosc winksmiley.jpg

  1. 1 opcja do wyboru:
  2. <select size="1" name="1opcja">
  3. <option>AAAA</option>
  4. <option>BBBB</option>
  5. <option>CCCC</option>
  6. <option>DDDD</option>
  7.  
  8. 2 opcja: <select size="1" name="2opcja"> // pole pojawia sie dopiero po wybraniu 1 pola
  9. <option>subopcja 1 AAAA</option>
  10. <option>subopcja 2 AAAA</option>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Hectic
post
Post #2





Grupa: Zarejestrowani
Postów: 256
Pomógł: 7
Dołączył: 1.01.2005

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


Ja to robię tak... (jquery)

Kod
<select id="category" name="category" onchange="loadItems(this.value);">
<option value="0" selected="selected">wszystkie kategorie</option>
<option value="1">Kat 1</option>
<option value="2">Kat 2</option>
</select>


Kod
<div id="subcat">
<select name="subcategory">
<option value="0">wszystkie typy sprzętu</option>
</select>
</div>


js
Kod
function loadItems(value) {
    $.get("ajax.php?subcategory", { category: value }, // pobranie za pomocą ajax danych z pliku ajax.php
    function(data){
        $('#subcat').html(data); // wczytanie ich do div o id="subcat"
    });
}


ajax.php
  1. <?php
  2. if(isset($_GET['subcategory'])) {
  3.    $id = mysql_escape_string((int)$_GET['category']);
  4.  
  5.    $mysql = MyRegistry::Registry('MySql');
  6.    $items = $mysql->selectGroup(dbTableItems, "id, name", "category='$id'", "ORDER by name"); // pobranie sub kategorii z bazy danych
  7.  
  8.    $template = MyRegistry::Registry('Template');
  9.    $template->assign('items', $items);
  10.    $template->display('subcategory.tpl'); // wczytanie pliku tpl        
  11. }
  12. ?>


subcategory.tpl
Kod
<select name="type">
<option value="0" selected="selected">wszystkie typy sprzętu</option>
{foreach from=$items item=items}
<option value="{$items.id}">{$items.name}</option>
{/foreach}
</select>


Można to zrobić nie używając smarty chodziło mi o analogię działania.

Jeszcze taki myk na firefox'a który po odświeżeniu zapamiętuje wybrane opcje (żeby nie było takiej sytuacji, że jest zaznaczona kategoria, a nie ma sub kategorii).

js
Kod
$(document).ready(function(){
    var category =  $("select#category").val();
    if(category > 0) {
        loadItems(category);
    }
});


Ten post edytował Hectic 14.02.2009, 08:55:28


--------------------
Nie proś o to, idź i sam to zdobądź.
Zrób to, a osiągniesz sukces.
Go to the top of the page
+Quote Post
lnn
post
Post #3





Grupa: Zarejestrowani
Postów: 361
Pomógł: 11
Dołączył: 17.12.2008
Skąd: LU

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


dzieki za wskazowki, a jeszcze mam pytanie, czy ja musze utworzyc jakas baze danych?? bo widze ze tam cos pobiera z danych, zatem czy musze dac polaczenie do bazy i dopiero potem cos z niej wyciagac? winksmiley.jpg aha i jeszcze jak przypisac dana kategorie z 2 pola do wybranej z 1wszego??

chodzi o to ze chcialbym po wybraniu wydziału zeby pokazywalo jakie sa katedry winksmiley.jpg i tak do kazdego wydzialu smile.gif

cisza..
Go to the top of the page
+Quote Post
Hectic
post
Post #4





Grupa: Zarejestrowani
Postów: 256
Pomógł: 7
Dołączył: 1.01.2005

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


Na bazie danych było by najłatwiej smile.gif

Struktura tabeli:

category
id
name

subcategory
id
category // tutaj id z tabeli category danej kategorii
name

Później dajesz zapytanie do bazy danych
Kod
SELECT name FROM subcategory WHERE category='$zmienna_z_id_kategorii'


Mam nadzieję, że zrozumiesz o co mi chodzi smile.gif Bez podstaw php + mysql będzie Ci ciężko to zrobić, ale też jest to dobry moment żeby się nauczyć smile.gif


--------------------
Nie proś o to, idź i sam to zdobądź.
Zrób to, a osiągniesz sukces.
Go to the top of the page
+Quote Post
lnn
post
Post #5





Grupa: Zarejestrowani
Postów: 361
Pomógł: 11
Dołączył: 17.12.2008
Skąd: LU

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


dzieki winksmiley.jpg poproboje to zrobic smile.gif przeciez nie ma rzeczy niemozliwych smile.gif (kliknalem ze pomogles:) )
Go to the top of the page
+Quote Post

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: 22.08.2025 - 03:51