Kim Ludvigsen
2015-01-18 11:56:45 UTC
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.
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
Mvh. Kim Ludvigsen