Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Ukrywanie bloku DIV, Ukrywanie po wybraniu opcji na rozwijanej liście
anm
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 21.09.2010

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


Chciałbym prosić o pomoc w prostym skrypcie. Wybranie jednej z opcji na rozwijanej liście ukrywałoby (lub pokazywało) blok <div>.

Potrzebuję zrobić dokładnie coś takiego:
Lista Shoe Size w tym sklepie służy do wybierania rozmiaru buta. Po wybraniu rozmiaru cena automatycznie zmienia się. Cena zawarta jest w bloku
  1. <div class="price-box">...</div>


Chciałbym aby blok ten był ukryty zawsze, gdy nie wybrano żadnego rozmiaru, czyli gdy na liście wybrany jest napis "Coose an Option...". Aby ukryć blok trzeba by mu nadać styl visibility:hidden, lub po prostu nadać mu wcześniej zdefiniowaną klasę "ukryty", która miałaby już ten styl.

Nie znam się na JavaScript, ale wygląda to na prosty skrypt. (IMG:style_emoticons/default/smile.gif) Będę bardzo wdzięczny za wszelką pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
zegarek84
post
Post #2





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

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


moim zdaniem jeśli już coś chcesz ukrywać to cały blok razem z dodaniem do koszyka... poza tym nie widzę, by cena tam się zmieniała - jeśli by się zmieniała to wystarczyło by wyświetlić tam pusty tekst domyślnie... jako, że nie wszystkie przeglądarki obsługują getElementsByClassName to wziąłem trochu inaczej - ale to mało ważne jak znajdziesz te elementy - wystarczy je znaleźć i podać jako parametr funkcji którą teraz Ci podam... dodaj ten skrypt za formularzem:
Kod
<script type="text/javascript">
(function() {
    var $select = document.getElementById('attribute502'),
    $el = document.getElementById('product-price-135_clone').parentNode.parentNode,
    sprawdz_by_ukryc = function($select, $el){
        if(!$select || !$el) throw new Error('nie zdefiniowany select lub element');
        $select.onchange = function() {
            $el.style.visibility = (isNaN(parseInt(this.value)))?'hidden':'visible';
        }
    };
    $el.style.visibility = 'hidden'; /* domyślnie ukryty blok */
    /* podpięcie listenera pod onchange - można zwykłymi listenerami zamiast na sztywno - nawet wskazane przebudowanie funkcji powyżej */
    sprawdz_by_ukryc($select, $el);
})()
</script>


Ten post edytował zegarek84 21.09.2010, 11:57:04
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 02:28