![]() |
![]() |
![]() ![]()
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 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. |
|
|
![]() |
![]()
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 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 02:28 |