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.
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.

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!
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 :)
fajny plugin ale jak (jesli sie da) zrobic zeby nie rozwijal pola po kliknieciu tylko ukrywal ?
Ogólnie da się, trzeba by pogrzebać w kodzie. Pomysł sam w sobie pozostanie, ale to praktycznie jak napisanie tego od nowa.
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/
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ć ;) )?
Nie działa :/