Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][Jquery] Tabela ukrycie następnego atrybutu po zaznaczeniu.
Forum PHP.pl > Forum > Przedszkole
DonPolaczek
Witam serdecznie od 2 godzin próbuję się uporać z następującym problemem mamy kod z opcjami wyboru czyli z wariantami i chciałbym w jquery wykonać taki manewr że po zaznaczeniu jednego ukrywa się drugi a mianowicie mamy taki kod:
  1. <tr>
  2. <td class="label"><label for="miasto">Miasto</label></td>
  3. <td class="value">
  4. <select id="miasto" class="" name="attribute_miasto" data-attribute_name="attribute_miasto"><option value="">Wybierz opcje</option>
  5. <option value="Szczecin" >Szczecin</option>
  6. <option value="Wrocław" >Wrocław</option>
  7. <option value="Legnica" >Legnica</option>
  8. </select>
  9. </td>
  10. </tr>
  11. <tr>
  12.  
  13. <td class="label"><label for="dieta">Dieta</label></td>
  14. <td class="value">
  15. <select id="dieta" class="" name="attribute_dieta" data-attribute_name="attribute_dieta"><option value="">Wybierz opcje</option>
  16. <option value="Dieta Paleo" >Dieta Paleo</option>
  17. <option value="Dieta Paleo Premium" >Dieta Paleo Premium</option>
  18. <option value="Dieta Glikemiczna" >Dieta Glikemiczna</option>
  19. </select>
  20. </td>
  21. </tr>


I teraz za pomocą Jquery chciałbym aby po zaznaczeniu np Miasta Legnica ukrył się atrybut z Dieta przykładowo Dieta Gikemiczna. Próbuje się z tym uporać nie wiem jak się do tego odwołać z góry dziękuję za jakąkolwiek pomoc jeżeli znajdę rozwiązanie wrzucę je tutaj Pozdrawiam.
trueblue
Dla każdego miasta powinieneś albo odpytywać bazę danych, albo przechowywać na stałe w kodzie powiązane widoczne diety albo niezwiązane.
Domyślnie wszystkie diety ukryte, albo odkryte.
W przypadku kliknięcia miasta sprawdzasz jakie ma powiązane diety i te pokazujesz/chowasz, a pozostałe odwrotnie.

Powiązane diety w przypadku wariantu z pokazawaniem:
  1. <option value="Szczecin" data-dieta="Dieta Paleo,Dieta Paleo Premium">Szczecin</option>

powiązane diety w przypadku wariantu z ukrywaniem:
  1. <option value="Szczecin" data-dieta="Dieta Glikemiczna">Szczecin</option>


W przypadku bazy danych powiązania powinny być w tabelach, wtedy każdorazowe kliknięcie miasta może odpytywać bazę i generować inny select dla diet.
DonPolaczek
A więc zacznę od tego że chciałem zrobić to w Jquery dlatego że to jest Wordpress->Woocommerce i nie mam możliwości zrobić tego w kodzie ponieważ to się generuję. A wiem iż w Jquery jest taka możliwość tylko nie mogę na razie znaleść odpowiedniego odwołania a wiem że ktoś co się zna na Jquery nie będzie miał z tym problemu dodam że nie szukam gotowego rozwiązania ale dziękuje za pomoc.

Stworzyłem skrypt tylko teraz nie mogę go za includować w Wordpressie wie ktoś jak to zrobić o to skrypt:
  1.  
  2. $( "#dieta" ).change(function() {
  3.  
  4. if ( $( "#dieta option:selected" ).text()=="Dieta Paleo" ) {
  5.  
  6. $('#ilosc-posilkow option[value="Lunch Box A - 3 posilki ( II sniadanie. obiad. podwieczorek )"]').hide();
  7.  
  8. }
  9.  
  10.  
  11. });
  12.  
  13.  
DonPolaczek
Czytam o tym przyjacielu smile.gif Nie napisałbym tego posta gdybym sam nie sprawdził i nie próbował. Nadal aktualne czy zna ktoś może jakiś prosty spsób aby ten nieszczęsny Jquery zadziałał w tym Woocommerce.
Dodam że daje go w odpowiednim miejscu a mianowicie MójSzablon->Woocommerce-Single-Product->add-to-cart->Variable.php i w kodzie żrodłowym skrypt wyświetla się w tym miejscu co powininenn tylko że nie działa.

Doczytałem różnych rzeczy co do jquery w Wordpress a więc teraz kod wygląda tak i jak wspomniałem widze go w Kodzie Zródłowym:
  1. jQuery(document).ready(function() {
  2.  
  3. jQuery('#dieta').change(function() {
  4.  
  5. if ( jQuery( "#dieta option:selected" ).text()=="Dieta Paleo" ) {
  6. jQuery('#miasto').hide();
  7.  
  8. });
  9. });
  10. });
  11. });
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.