Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: multiselect i zależne selecty [AJAX][MySQL][PHP]
Forum PHP.pl > Forum > Przedszkole
stefan1988
witam,
chciałbym zmiksować dwa skrypty tj.:

1:
zależne selecty

2:
multiselect

W zasadzie po częsciowym zmiksowaniu tych kodów normalne selecty(wizualnie) zmieniają się w te z linku 2

Problem jest teraz w tym że te zależne selecty nie działają. Pomimo, że zaznaczono dany checkbox, w drugim nie pokazują się zależne wartosci.

P.S. Chciałbym w ogóle zrobić coś takiego że w drugim SELEKCIE pokazują się wszystkie wartości zależne od pierwszego - ale tu dołożyć jedną funkcjonalność więcej że z pierwszego selecta można wybrać więcej niż jedną wartosć. pozdrawiam i proszę o pomoc.

Zawartość pliku index.php
index.php

Zawartość pliku get_child.php
get_child
_Borys_
Tak więc
  1. <select id="parent_category" name="parent_category[]" multiple="multiple" style="">

W ajaxie nic nie musisz zmieniać, prześle wszystkie zaznaczone option poprzez pc_id.
Od strony php:
  1. $query = "SELECT * FROM brands WHERE catg IN(".$pc_id.")";

Poza tym bez zmian.
stefan1988
Dzięki za zainteresowanie tematem i pomoc ale...u mnie nie działa sad.gif - nie wiem czemu.


index.php
get_child
_Borys_
A jak to ma w ogóle działać
Po każdym kliku na option w parent_category mają się dodawać nowe optiony do child_category, poprzednie nie znikają ?
Jeśli tak to pozostaw to co miałeś poprzednio, tylko trzeba zmienić w ajaxie
[JAVASCRIPT] pobierz, plaintext
  1. $("#child_category").html(option);
[JAVASCRIPT] pobierz, plaintext

na
[JAVASCRIPT] pobierz, plaintext
  1. $("#child_category").append(option);
[JAVASCRIPT] pobierz, plaintext

Trzeba by też ustawiać w pierwszym selekcie kliknięte option na disabled aby nie można było drugi raz tego samego
albo sprawdzać jakoś po stronie php lub javascript co było kliknięte.
stefan1988
tak, ma działać właśnie w ten sposób jak napisałeś czyli ma dodawać wszystko w drugim selekcie zaznaczone i należące do/z selekta pierwszego.

hmm...dalej nie działa sad.gif

Nie wiem w czym jest rzecz ale wcześniej miałem problem z jquery.min.js - gdy on i pozostałe były w head-zie to się gryzły więc dałem w body.

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js"></script>
_Borys_
Widzę że cztery razy jquery dołączasz, po co tyle daj jedno w <head></head>, najlepiej nowsze np 1.9.1, zobacz też w przeglądarce czy błedów javascript nie wywala, konsola błędów czy coś takiego.
php__amator
Śledzę z uwagą, też potrzebuję coś takiego zrobić.
Select pierwszy wybieram np Markę i po wybraniu marki, wciąga liste dostępnych dla tej marki modeli, itd itd. smile.gif

stefan1988
tak, tylko ja chcę to urozmaicić o Multiselect z checkboxami oraz filtrem - aby po wybraniu (zaznaczeniu) jednego lub kilku checkboxów w 1 selekcie pokazywały się odpowiednie wyniki w 2 selekcie - wszystko to podpięte pod mysql. Może dorzucisz coś mądrego od siebie aby to zrobić?pozdrawiam


Niżej to z czego korzystam i chcę połączyć.
zależne selecty
multiselect filter

Mam takie zapytanie odnośnie tych zależnych selectów
  1. $query = "select * from telefon where miejscowosc='".$pc_id."' ORDER BY miejscowosc";


Jak zrobić aby pomijało pola w bazie gdzie domyślna wartość jest ustawiona na NULL
bo to niżej mi nie działa. Chodzi o to że gdy zaznaczę w 1 selekcie pola z wartością w bazie jest ok. ale gdy zaznaczę pola np dwa pola które jedno z nich ma a drugie nie ma wartości w bazie nie wyświetla się nic, nawet te pełne pola.

  1. $query = "select * from telefon where miejscowosc='".$pc_id."' AND komorkowy != '0'";

  1. $query = "select * from telefon where miejscowosc='".$pc_id."' AND komorkowy != NULL";

  1. $query = "select * from telefon where miejscowosc='".$pc_id."' AND komorkowy IS NOT NULL";
_Borys_
Jak wpiszesz to zapytanie w phpMyAdmin albo poprzez skrypt php z przykładowym id z selecta to coś zwróci ? Ostatni przykład prawidłowy jest.
stefan1988
Wynik wrzucenia tego do phpMyAdmin
  1. $query = "select * from telefon where miejscowosc='Radom' AND komorkowy IS NOT NULL";

Pokaż wiersze 0 - 1 ( 2 wszystkich, Wykonanie zapytania trwało 0.0002 sekund(y))

więc coś jest nie takl w moim kodzie, ale co?
kujol
Może się mylę, ale powinieneś chyba wrzucić to w takiej formie do phpmyadmin:

  1.  
  2. select * from
  3. telefon where
  4. miejscowosc='". $pc_id ."'
  5. AND komorkowy IS NOT NUL;
  6.  
stefan1988
już ogarnięte...
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.