Skocz do zawartości

[HTML][JavaScript] Dodanie/usunięcie atrybutu


Rucin96
 Udostępnij

Rekomendowane odpowiedzi

Witam!
Niestety w JS u mnie bardzo bardzo słabo. Chciałbym aby po pojawieniu się pewnego tabu (pokazywanie i ukrywanie już mam) aktywowało się jedno z <selcet>. Są 4 o tym samym name, a po pokazaniu jednego z tabów chciałbym, aby tylko jeden został wysłany.

Jeżeli jeden tab jest aktywny to select z innego tabu powinien mieć disabled, a aktywny required itp.

Mój kod HTML

<select id="EUR" name="code" class="dark space tab tab-1" required>
						<option>EUR</option>
					</select>
 
					<select id="GBP" name="code" class="dark space tab tab-2" required>
						<option>GBP</option>
					</select>
 
					<select id="CHF" name="code" class="dark space tab tab-3" required>
						<option>CHF</option>
					</select>
 
					<select id="USD" name="code" class="dark space tab tab-4" required>
						<option>USD</option>
					</select>

Kod JS

	$(document).ready(function() {
        //dla każdego miejsca z tabami
        $(.tabs).each(function() {
            var $ul = $(this);
            var $li = $ul.children(li);
            //przy wejsciu na strone ukrywamy tresc tabow i pokazujemy tylko aktywny...
            $li.each(function() { //pętla po wszystkich tabach
                var $trescTaba = $($(this).children(a).attr(href)); //pobieramy blok o id pobranym z linka-taba
                if ($(this).hasClass(active)) { //jeżeli ten tab ma klasę aktywną
                    $trescTaba.show(); //to pobrany przed chwilą blok pokazujemy
                } else {
                    $trescTaba.hide(); //jeżeli takiej klasy nie ma to blok ukrywamy
                }
            });
 
            //mały trik - gdy klikamy na tab, wtedy wykonujemy zdarzenie dla linka, który się w nim znajduje (dzieki temu możemy kliknąć na cały tab, a nie tylko na linka)
            $li.click(function() {$(this).children(a).click()});
            //po kliknięciu na link...
            $li.children(a).click(function() {
                //usuwamy z tabów klasę active
                $li.removeClass(active);
                //ukrywamy wszystkie taby               
                $li.each(function() {
                    $($(this).children(a).attr(href)).hide();
                });
                //ustawiamy klikniętemu tabowi klasę aktywną
                $(this).parent().addClass(active);
                $($(this).attr(href)).show();
                //nie chcemy wykonać domyślnej akcji dla linka
                return false;
            });
        });
});

Będę bardzo wdzięczny za pomoc! 

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
 Udostępnij

×