/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Checkbox - Parent / Child - Eksempel søges~
Fra : Ukendt


Dato : 05-02-03 00:58

Allerførst må jeg hellere fortælle at jeg er ganske ny udi javascripts.

Jeg har en større stak checkbokse placeret under hinanden i tre niveauer.
For at lette brugernes forståelse for hvad de vælger ved at markere
overordnede checkbokse, kunne jeg godt tænke mig at underlæggende checkbokse
automatisk markeres ved markering af overordnede og fravalg af overordnede
checkbokse ved fravalg af underordnede.

Jeg har indtil nu fundet ud af at jeg for at opnå dette, uden konstant at
skulle sende nye sider fra serveren og ud til brugerne, bedst kan opnå denne
effekt ved anvendelse af et javascript.

Efter at have læst et par tutorials og søgt blandt funktionerne er jeg nået
frem til at jeg skal bruge funktionerne makeParentCheckbox og
makeChildCheckbox, men hvordan kommer jeg videre?

Jeg håber at der er nogen herinde som kunne give et simpelt eksempel eller
evt. henvise til et sådan.

På forhånd tak for hjælpen

Claus



 
 
Lasse Reichstein Nie~ (05-02-2003)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 05-02-03 01:26

"Claus Nygaard-Pedersen" <cnpatofir.dk> writes:

[overordnet checkbox der sætter underordnede og omvendt]

> Efter at have læst et par tutorials og søgt blandt funktionerne er jeg nået
> frem til at jeg skal bruge funktionerne makeParentCheckbox og
> makeChildCheckbox, men hvordan kommer jeg videre?

Ingen af de funktioner findes i forvejen, så det er nok bare eksempler
på navne man *kunne* give funktion som man vil bruge.

> Jeg håber at der er nogen herinde som kunne give et simpelt eksempel eller
> evt. henvise til et sådan.

Et eksempel:

Først et par funktioner, anbring script-elementet i head:
---
<script type="text/javascript">
function check(checkbox) {
if (!checkbox.checked) checkbox.click();
}

function uncheck(checkbox) {
if (checkbox.checked) checkbox.click();
}
</script>
---

Så noget html-kode der bruger den:

---
<form>
Checkbox 1: <input type="checkbox" id="over1" onclick="if (this.checked) {check(this.form.under1a);check(this.form.under1b);check(this.form.under1c);}">
(Checkbox 1a: <input type="checkbox" id="under1a"
onclick="if (!this.checked) {uncheck(this.form.over1);}">

Checkbox 1b: <input type="checkbox" id="under1b"
onclick="if (!this.checked) {uncheck(this.form.over1);}">

Checkbox 1c: <input type="checkbox" id="under1c"
onclick="if (!this.checked) {uncheck(this.form.over1);}">)
</form>
---
(jeg regner med at du har en form at putte det i).

/L
--
Lasse Reichstein Nielsen - lrn@brics.dk
Ph.D. i datalogi søger stilling som software-udvikler i Øst- eller
Nordjylland. Curriculum Vitae: <URL:http://www.brics.dk/~lrn/cv.html>

Ukendt (05-02-2003)
Kommentar
Fra : Ukendt


Dato : 05-02-03 01:46


"Lasse Reichstein Nielsen" <lrn@hotpop.com> skrev i en meddelelse
news:vfzzo9nx.fsf@hotpop.com...
> "Claus Nygaard-Pedersen" <cnpatofir.dk> writes:
>
> [overordnet checkbox der sætter underordnede og omvendt]
>
> > Efter at have læst et par tutorials og søgt blandt funktionerne er jeg
nået
> > frem til at jeg skal bruge funktionerne makeParentCheckbox og
> > makeChildCheckbox, men hvordan kommer jeg videre?
>
> Ingen af de funktioner findes i forvejen, så det er nok bare eksempler
> på navne man *kunne* give funktion som man vil bruge.
>
> > Jeg håber at der er nogen herinde som kunne give et simpelt eksempel
eller
> > evt. henvise til et sådan.
>
> Et eksempel:
>
> Først et par funktioner, anbring script-elementet i head:
> ---
> <script type="text/javascript">
> function check(checkbox) {
> if (!checkbox.checked) checkbox.click();
> }
>
> function uncheck(checkbox) {
> if (checkbox.checked) checkbox.click();
> }
> </script>
> ---
>
> Så noget html-kode der bruger den:
>
> ---
> <form>
> Checkbox 1: <input type="checkbox" id="over1" onclick="if (this.checked)
{check(this.form.under1a);check(this.form.under1b);check(this.form.under1c);
}">
> (Checkbox 1a: <input type="checkbox" id="under1a"
> onclick="if (!this.checked) {uncheck(this.form.over1);}">
>
> Checkbox 1b: <input type="checkbox" id="under1b"
> onclick="if (!this.checked) {uncheck(this.form.over1);}">
>
> Checkbox 1c: <input type="checkbox" id="under1c"
> onclick="if (!this.checked) {uncheck(this.form.over1);}">)
> </form>
> ---
> (jeg regner med at du har en form at putte det i).

Tak for et fint eksempel Lasse :)

Der er dog et par detaljer som jeg ikke helt kan overskue.

Hvis jeg nu markerer alle underpunkter.... Hvordan får jeg så automatisk
markerer overpunktet?

Hvis jeg nu fjerner markeringen i overpunktet.... Hvordan fjerner jeg så
alle markeringer i underpunkterne?

Claus



Ukendt (20-02-2003)
Kommentar
Fra : Ukendt


Dato : 20-02-03 11:10

"Claus Nygaard-Pedersen" <cnpatofir.dk> skrev i en meddelelse
news:3e405eb1$0$126$edfadb0f@dtext02.news.tele.dk...
>
>
> Hvis jeg nu markerer alle underpunkter.... Hvordan får jeg så automatisk
> markerer overpunktet?
>
> Hvis jeg nu fjerner markeringen i overpunktet.... Hvordan fjerner jeg så
> alle markeringer i underpunkterne?

Indrømmet der skulle gå et par uger inden jeg fik tid til dette, men jeg
synes lige at I, som måtte være interesseret, skal se resultatet:

<script type="text/javascript">
function check(checkbox) {
if (!checkbox.checked) checkbox.click();
}

function uncheck(checkbox) {
if (checkbox.checked) checkbox.click();
}

var uncheckflaga = 0;

var uncheckflagab = 0;

</script>

<form>

Checkbox a: <input type="checkbox" id="chka" onclick="
if (this.checked)
{check(this.form.chkaa);
check(this.form.chkab);
check(this.form.chkac);}
if (!this.checked & uncheckflaga == 0)
{uncheck(this.form.chkaa);
uncheck(this.form.chkab);
uncheck(this.form.chkac);}
">

<br />

Checkbox aa: <input type="checkbox" id="chkaa"
onclick="
if (this.checked & this.form.chkab.checked & this.form.chkac.checked)
{uncheckflaga = 0;
check(this.form.chka);}
else
{uncheckflaga = 1;
uncheck(this.form.chka);}
">

<br />

Checkbox ab: <input type="checkbox" id="chkab"
onclick="
if (this.checked)
{uncheckflaga = 0;
check(this.form.chkaba);
check(this.form.chkabb);}
if (this.checked & this.form.chkaa.checked & this.form.chkac.checked)
{uncheckflaga = 0;
check(this.form.chka);}
if (!this.checked & uncheckflagab == 0)
{uncheckflaga = 1;
uncheck(this.form.chkaba);
uncheck(this.form.chkabb);
uncheck(this.form.chka);}
">

<br />

Checkbox aba: <input type="checkbox" id="chkaba"
onclick="
if (this.checked & this.form.chkabb.checked)
{uncheckflagab = 0;
check(this.form.chkab);}
else
{uncheckflagab = 1;
uncheck(this.form.chkab);}
">

<br />

Checkbox abb: <input type="checkbox" id="chkabb"
onclick="
if (this.checked & this.form.chkaba.checked)
{uncheckflagab = 0;
check(this.form.chkab);}
else
{uncheckflagab = 1;
uncheck(this.form.chkab);}
">

<br />

Checkbox ac: <input type="checkbox" id="chkac"
onclick="
if (this.checked & this.form.chkaa.checked & this.form.chkab.checked)
{uncheckflaga = 0;
check(this.form.chka);}
else
{uncheckflaga = 1;
uncheck(this.form.chka);}
">

</form>

Claus



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste