no_face
11.06.2006, 22:59:48
Witam wszystkich, mam takie male zapytanie i mysle, ze nie bedzie trudne, wiec powinnismy sobie poradzic.
Chodzi mi o informacje dotyczace z jakiej technologi skozystac przy nastepujacych zalozeniach.
Mam selecta z multi, powiedzmy dla kazdego wyboru sa jakies 4-5 osobnych wartosci, chcialbym aby przy zaznaczaniu kolejnych pozycji, kazda z tych wartosci byla sumowana czyli wszystkie pierwsze z zaznaczonych itd. i byly wyswietlane na bierzaco na stronie czy to jako text, czy tez w text boxie. Glownie chodzi o ty by sumowane dane wyswietlaly sie za kazdym razem jak user zaznaczy kolejna pozycje.
Chcialbym sie dowiedziec czy samo JS z tym sobie poradzi, czy moze trzeba bedzie siegnac po cos mocniejszego.
hwao
12.06.2006, 19:48:06
samo js poradzi sobie swietlnie, jak bys mial jakies problemy zawsze masz ajax'a
no_face
15.06.2006, 12:20:59
Wiec tak jak poradziles, potrenowalem sobie JS i zrobilem juz troche zamierzonego planu. Problem ktory powstal to taki ze nie wiem jak zarejestrowac zdarzenie odznaczenia danego pola w selekcie. Przy zaznaczeniu poradzilem sobie onClikiem, ale w odwrotna strone juz jakos nie moge znalezc rozwiazania, prosil bym o jakas porade.
hwao
15.06.2006, 12:40:41
Kod
/* Podajesz tutaj albo id checkbox'a albo juz obiekt */
function CheckBoxHandler( checkbox ) {
if( checkbox.checked ) {
/** Ktos zaznaczyl nasze malenstwo */
alert( 'Zaznaczyleś mnie kochanie...' );
} else {
/** Ktoś nie kocha naszego checkbox'a */
alert( 'Odznaczyłeś mnie kochanie...' );
}
}
<input type="checkbox" onclick="CheckBoxHandler( this )" />
no_face
15.06.2006, 12:50:01
Chyba wystapila pomylka ja pisze o select. Np.
Kod
<select size="15" name="box[]" multiple>
<option value="1" onclick="jakas_funkcja_js;">a</option>
<option value="2" onclick="jakas_funkcja_js;">b</option>
<option value="3" onclick="jakas_funkcja_js;">c</option>
<option value="4" onclick="jakas_funkcja_js;">d</option>
</select>
I tutaj chcialbym wykryc odznaczenie danej pozycji.
hwao
15.06.2006, 13:42:34
Kod
<script>
/* Podajesz tutaj id select'a */
function SelectHandler( sName ) {
var Select = document.getElementById( sName );
for(var i=0; i < Select.options.length; i++ ) {
var Option = Select.options[i];
if( Option.selected ) {
alert( Option.text );
}
}
}
</script>
<select id="lista" size="15" name="box[]" onchange="SelectHandler( 'lista' )" multiple="multiple">
<option value="1">aaaaaa</option>
<option value="2">bbbbbb</option>
<option value="3">cccccc</option>
<option value="4">dddddd</option>
</select>
<button onClick="SelectHandler( 'lista' )">Test</button>
no_face
15.06.2006, 14:20:25
Dzieki za alternatywne rozwiazanie. Szkoda, ze nie ma takiego znarzenia ktore rozpoznawaloby odznaczenia selekta. Ale niewazne, wazne ze tym sposobem tez sobie poradzilem, dodalem jeszcze value poniewaz mi potrzebne. Raz jeszcze dzieki.
hwao
15.06.2006, 14:28:57
Kod
onchange="SelectHandler( 'lista' )"
umnie dziala, przynajmniej na FF
no_face
15.06.2006, 20:13:17
To oczywiscie ze dziala. Mialem raczej na mysli zdarzenie ktore rozpoznalo by osobno zaznaczenie pola czyli wystarczy onclick, onchange, ktore tez rozpoznaja odznaczenie i osobno zdarzenie dla odznaczenia. Ulatwilo by mi to troche prace. Ale przeciesz sposob ktory podales jest dobry wiec nie szukam juz innych sposobow. Prace ida do przodu, dzieki i do kiedys
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.