Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Po wybraniu opcji z <select> wyswietli diva.
Forum PHP.pl > Forum > PHP
dawidos_95
Witam. Chcialbym sié dowiedziec jak zrobic aby po wybraniu opcji z listy rozwijalnej <select> pojawil sié jakis obrazek, tekst czy cokolwiek. To jest pewnie w formie divu z przypisanym ID. Ktos wie? Oczywiscie na silniku mybb
jaslanin
najlepiej to pewnie zrobić poprzez javascript a nie PHP, poprzez dynamiczne tworzenie tych elementów

albo po prostu przy wysyłaniu formularza, jeżeli jest spełniony warunek to wyświetlać dany div
dawidos_95
Cytat(jaslanin @ 12.04.2013, 20:35:01 ) *
najlepiej to pewnie zrobić poprzez javascript a nie PHP, poprzez dynamiczne tworzenie tych elementów

albo po prostu przy wysyłaniu formularza, jeżeli jest spełniony warunek to wyświetlać dany div


Wiesz jak to zrobić przez javascript?
Greg0
http://jsfiddle.net/PSmYb/1/
dawidos_95
Cytat(Greg0 @ 13.04.2013, 10:33:53 ) *


daje to do szablonu:

  1. <style type='text/css'>
  2. #hidden { display: none; }
  3. </style>
  4.  
  5.  
  6.  
  7. <script type='text/javascript'>//<![CDATA[
  8. $(window).load(function(){
  9. $("select[name='div']").change(function() {
  10. if($(this).val() == 'show') {
  11. $("div#hidden").show();
  12. }
  13. });
  14. });//]]>
  15.  
  16. </script>


oraz to do pliku:
  1. <select name="div">
  2. <option value="sth1">Opcja 1</option>
  3. <option value="sth2">Opcja 2</option>
  4. <option value="show">Pokaz diva</option>
  5. </select>
  6. <p>Tresc strony</p>
  7. <div id="hidden">Ukryty div</div>

i nie działa.
jaslanin
na stronie jest dostępna biblioteka jQuery?
masz coś w konsoli błędów?
dawidos_95
Cytat(jaslanin @ 13.04.2013, 13:33:26 ) *
na stronie jest dostępna biblioteka jQuery?
masz coś w konsoli błędów?


biblioteka jest, błąd:
Uncaught TypeError: Cannot call method 'change' of null

Refresh
jaslanin
prawdopodobnie na stronie masz dwie biblioteki i obie wykorzystują znak dolara. Przez są konflikty pomiędzy nimi.

musisz więc albo jquery z noconflict i przepisać odpowiednio kod np. poprzez użycie JS'owej struktury IIFE. Albo jakoś inaczej ten problem rozwiązać.
dawidos_95
Cytat(jaslanin @ 14.04.2013, 14:02:00 ) *
prawdopodobnie na stronie masz dwie biblioteki i obie wykorzystują znak dolara. Przez są konflikty pomiędzy nimi.

musisz więc albo jquery z noconflict i przepisać odpowiednio kod np. poprzez użycie JS'owej struktury IIFE. Albo jakoś inaczej ten problem rozwiązać.


Niestety w javascript jestem zielony. Mógłbyś jakoś pomóc?
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.