Sprawdź najnowsze wpisy:
[jQuery] Pokazywanie i ukrywanie dodatkowych pól formularza – plugin

Ruszam z nowym działem na blogu – Download. Będę tu umieszczać różnego rodzaju darmówki mojej produkcji. Na pierwszy ogień idzie plugin jQuery służący do pokazywania i ukrywania dodatkowych pól formularza.

demo | pobierz.zip

Jak używać

Pierwsze co musisz zrobić, to oczywiście pobrać paczkę z pluginem. Następnie dodać do Twojej strony bibliotekę jQuery (jeśli jeszcze nie używasz) oraz plugin (pamiętaj, żeby podać dobrą ścieżkę).

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript" src="jquery.websta.ukrywaniepol.js"></script>

Do rozwijania i zwijania dodatkowych pól formularza potrzebne będą elementy typu checkbox lub radio. Wycinek mojego formularza wygląd tak:

<div>
	<label>Więcej opcji: 
		<input type="checkbox" id="aktywator1" />
	</label>
</div>
 
<div id="dodatkowo1">
	<label>Dodatkowe opcje:</label>
	<textarea cols="50" rows="10">dodatkowo1</textarea>	
</div>

Żeby checkbox o id="aktywator1" rozwinął div id="dodatkowo1", który zawiera dodatkowe pole tekstowe, musi uruchomić plugin (zobacz źródło demo pluginu i cały kod):

<script type="text/javascript">
 
	$(function() {
 
		$('#aktywator1').ukryjpola({docelowy : 'dodatkowo1'});
 
	});
 
</script>

To tyle, na koniec zobacz schemat użycia i dwie dodatkowe opcje, których możesz użyć, czyli szybkość zwijania i rozwijania:

$("element otwierjący").ukryjpola({
	docelowy : 'element otwierany', 
	szybkoscpokaz : 'fast, normal lub slow – domyślnie slow',
	szybkoscukryj : 'fast, normal lub slow – domyślnie fast',
});

Zasady użytkowania

Zezwalam na użycie pluginu do celów komercyjnych i niekomercyjnych oraz zmiany w kodzie, pod warunkiem pozostawienia danych zawartych w nagłówku skryptu dotyczących autorstwa.

demo | pobierz.zip


Zapisz się na newsletter

Nienawidzę spamu tak samo jak Ty, dlatego obiecuję, że nigdy nie sprzedam, ani nie udostępnię nikomu Twojego adresu e-mail.

(W każdej chwili możesz się wypisać, klikając link na końcu każdego maila.)

Tagi: , , ,


  1. Matek (Reply) poniedziałek 10 Maj , 2010

    Czy da się zrobić takie zwijanie dla buttonów zamiast checkboxów? Jak powinien wyglądać javascript, gdy zamiast checkboxów chciałbym zrobić przyciski: ?

    Z góry dziękuje za odpowiedź ;)
    Świetny blog!

  2. Websta (Reply) poniedziałek 17 Maj , 2010

    Wtedy wcale nie potrzebujesz tego pluginu :) Musisz zrobić podobnie jak tu: http://websta.pl/tutoriale/jquery-wysuwany-boczny-panel-menu jQuery daje też prostsze opcji przy użyciu slideUp/slideDown i jeszcze kilka innych sposobów.
    Trochę pokombinujesz i napewno się uda :)

  3. Saike (Reply) piątek 30 Lipiec , 2010

    fajny plugin ale jak (jesli sie da) zrobic zeby nie rozwijal pola po kliknieciu tylko ukrywal ?

    • Websta (Reply) sobota 31 Lipiec , 2010

      Ogólnie da się, trzeba by pogrzebać w kodzie. Pomysł sam w sobie pozostanie, ale to praktycznie jak napisanie tego od nowa.

  4. kartofelek (Reply) czwartek 24 Luty , 2011

    Aby plugin był bardziej wartościowy nie polegał bym tylko na zdarzeniu click. Bo przecież checkbox może być zmieniony także przez change
    http://api.jquery.com/change/

    • Websta (Reply) poniedziałek 7 Marzec , 2011

      Słuszna uwaga, jednak w tym wypadku to nic nie zmienia. Dozwolone są tylko checkbox lub radio, dla nich change działa jak click i kompletnie niczego nie zmienia. Faktycznie change() zostało przeznaczone typowo dla formularzy, jednak jak dla mnie to raczej szukanie dziury w całym.

      Chyba, że podasz mi konkretny przykład kiedy nie zadziała TU click, a zadziała change (mam prawo się mylić ;) )?

  5. cruz (Reply) wtorek 15 Listopad , 2011

    Nie działa :/