Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Løkke eller lignende

3 views
Skip to first unread message

Kim Ludvigsen

unread,
Jan 18, 2015, 6:56:42 AM1/18/15
to
Jeg sidder og eksperimenterer med at benytte Jquery til at åbne
dialogbokse med yderligere info, når der klikkes på en info-knap.

Mit problem er, at jeg skal kunne åbne rigtig mange dialogbokse på siden
og ikke bare en enkelt, som de fleste eksempler på dialogboksene hjælper
med.

Normalt skal der selvstændig kode til hver enkelt dialogboks. Både til
at åbne dem og til at sørge for, at de er lukkede fra start.

Åbningen har jeg løst ved at benytte id og klasse med samme navn på
knappen og så "samme-id_div" på div'en:
$( ".dialog" ).click(function() {
$( "#" + this.id + "_div" ).dialog( "open" );

Anden del kan jeg ikke finde ud af at løse på lignende vis. Hver enkelt
dialogboks skal lukkes med en linje som:
$( "#virus_div" ).dialog({ autoOpen: false });

Hvis der ikke er en linje for en div, vil teksten blive vist på siden,
der hvor div'en er placeret. Det smarte ville være en *-funktion, så man
kunne lukke alle forekomster af *_div, men det virker ikke med:
$( "#*_div" ).dialog({ autoOpen: false });

Det må da være muligt at lave noget smart i stedet for at skulle have
hundreder af linjer?

Jeg er stort set på bar bund med hensyn til JavaScript, så jeg skal have
en løsning banket ind med skeer.

--
Mvh. Kim Ludvigsen

Jonathan Stein

unread,
Jan 18, 2015, 11:50:43 AM1/18/15
to
Den 18-01-2015 12:56, Kim Ludvigsen skrev:

> $( "#*_div" ).dialog({ autoOpen: false });

id er godt, når du skal have fat på ét element ad gangen. Hvis du skal
lave noget på en hel gruppe af elementer, er class mere oplagt:

$( ".dialog" ).dialog({ autoOpen: false });

(hvis dine dialog div'er altså har class="dialog").

M.v.h.

Jonathan

Kim Ludvigsen

unread,
Jan 18, 2015, 12:05:23 PM1/18/15
to
Den 18-01-2015 kl. 23:47 skrev Jonathan Stein:
> Den 18-01-2015 12:56, Kim Ludvigsen skrev:
>
>> $( "#*_div" ).dialog({ autoOpen: false });
>
> id er godt, når du skal have fat på ét element ad gangen. Hvis du skal
> lave noget på en hel gruppe af elementer, er class mere oplagt:

Mit problem var at, de skal alle lukkes på én gang, men kun åbnes én ad
gangen.

>> $( ".dialog" ).dialog({ autoOpen: false });
>
> (hvis dine dialog div'er altså har class="dialog").

Det kan jeg nemt give dem, så de har både class og id, og det virker
fint med ovenstående til at lukke alle, og jeg kan så åbne én ad gangen
med id'en. Tak!

--
Mvh. Kim Ludvigsen

Leif Neland

unread,
Jan 19, 2015, 6:37:33 PM1/19/15
to
Kim Ludvigsen formulerede spørgsmålet:
Bare for en anden gangs skyld. Det er ikke noget problem at give et
element flere klasser.
<div class="warning popup" id="pop1">..</div>
<div class="error popup" id="pop2">..</div>

Hvor warning/error f.ex. styrer farve og popup bruges til at styre
mekanikken med at lukke popuppen.

Leif

--
Je suis Charlie


0 new messages