Avatar billede Slettet bruger
09. august 2011 - 10:29 Der er 10 kommentarer og
1 løsning

Åben <select> med javascript ?

Er det muligt at åbne en select(dropdown) ved klik på "noget andet" ?
(Det er det tilsyneladende ikke - iflg. google + stackoverflow)
- håber dog at én kender et trick/workaround, alligevel ; )

Men hvorfor ikke - er der et "sikkerhedsaspekt" involveret ?
(som ikke findes tilsvarende for alle andre input-felter..)


Mit scenario: Metadata: Kategori + værdi - begge simpel text-display, indtil man klikker på teksten.
Da skjules teksten, og en select med de mulige værdier vises i stedet - men lukket.
Brugeren skal således klikke 2 gange (først på teksten, derefter på select'en)  : (

PS: Jeg ved at det er muligt at erstatte hele select'en med et div-cirkus som ligner en select - men det er jeg ikke interesseret i, da den  allerede er erstattet med jQuery-plugin:DropDownCheckList
Avatar billede madand Nybegynder
09. august 2011 - 11:34 #1
Det er ikke muligt :)

Forsøgte mig lige frem med jquery, og det ser ikke ud til at virke.

Jeg tror du selv skal style og kode din egen dropdown.
Avatar billede Six Nybegynder
09. august 2011 - 11:34 #2
Kan du ikke bruge Size attributtet ?

Hvis du f.eks. har 10 options i din select.

  function selectExpand( selectSize) {
    document.getElementById('SelectBoxNavn').size=selectSize;
  }

<select name="mySelectBox" id="SelectBoxNavn" size="1" onFocus="selectExpand(10);" onBlur="selectExpand(1);" onChange="selectExpand(1);">

Noget i den stil der?
Avatar billede Slettet bruger
09. august 2011 - 16:43 #3
#1 ja, jeg har også selv prøvet ALT (incl. jQuery) - meget frustrerende!

Jeg forstår bare ikke hvorfor det er sådan - ER der mulige sikkerhedsproblemer ?

#2 Njaej - der kunne jo være 100 options...
Det er metadata ("ekstra-data-felter", som brugerne selv opretter (kategorier og mulige værdier)
Avatar billede olebole Juniormester
11. august 2011 - 00:05 #4
<ole>

Prøv at vende problematikken om og tænk over, hvor ufattelig meget vi kan med en ganske ung teknologi, som dybest set kun er beregnet til at opstille og publicere kilometervis af videnskabelige måleresultater i paragraffer og tabeller  *o)

Så vidt jeg ved, skyldes det ikke sikkerheds overvejelser, at man ikke programmatisk kan åbne en select. Årsagen er formodentlig, at ingen har tænkt på, denne feature kunne være særlig efterspurgt. Der er potentielt millioner af mulige features - så der skal jo prioriteres. En helt anden ting er så, at vi har tilbøjelighed til at se præcis det problem, vi til enhver tid sidder med, som et oplagt et at løse via standarder.

Tænker jeg tilbage over mine 12 år på Eksperten, mindes jeg kun spm'et har været oppe ganske få gange. Det tyder ikke på, der er den store brug for den feature  =)

Anyway, så ser det ud til, at HTML5 kommer dig til hjælp med flere nye, dynamiske elementer - herunder menu elementet. HTML 4 er jo mere eller mindre en patched version af HTML 2 (som var den første egentlige standard). Med version 5 tager man for alvor fat på at indrette HTML til at understøtte egentlige webbårne applikationer. Det går 'den sjove' vej  *o)

/mvh
</bole>
Avatar billede Slettet bruger
11. august 2011 - 02:11 #5
Det er nu ikke første gang jeg har problemet - og synes jeg finder flere andre frustrerede derude...

Og det forekommer mig at browserne ikke bare ikke har implementeret det, men aktivt forhindrer det - man kan jo "JS-aktivere" alt(?) andet.
Med jQuery-fætteren (DropDownCheckList) KAN man faktisk (et kort øjeblik).
- indtil den "opdager det" - så bliver den klappet sammen igen!
$("#ddcl-valselect > span").trigger("click");alert("se nu er jeg åben bagved alertboxen")//og nu lukket
- Men sådan en plugin kan man jo heldigvis selv modificere, muahahaa!

Det jeg egentlig vil opnå er ikke faktisk ikke, bare at spare brugerne for et klik, men at vise dem hvilke data de har ændret - Hvis ikke der ændres noget, vender den tilbage til tekst-display af data.
Og det kan jeg opnå ved at give <select> focus, og derefter checke selectedIndex i onblur: Ingen ændring => tilbage til tekst-display af data
(er <select>'en (eller <input> eller <textarea>) synlig er det fordi værdien er ændret)
Avatar billede olebole Juniormester
11. august 2011 - 11:14 #6
Man kan sagtens aktivere en select, så man kan navigere mellem options med piltasterne, men man kan ikke åbne den. Så på det punkt adskiller selecten sig ikke fra andre elementer.

Der står ingen steder, at man skal kunne åbne en select, så det er ikke spor mærkeligt, at browserne ikke kan. Jeg har bl.a. bemærket, at de heller ikke kan lave kaffe eller bage pizzaer  *o)

Du er med andre ord nødt til selv at kode dig ud af det - formodentlig ved at bruge andre elementer.
Avatar billede Slettet bruger
11. august 2011 - 12:34 #7
Ja, det er også det jeg gør - jeg er bare disgruntled
- det ville være så let / smart / brugervenligt..
Avatar billede olebole Juniormester
13. august 2011 - 17:38 #8
Ja, men pointen er bare, at der er millioner af ting, der ville være "så let / smart / brugervenligt.." for de enkelte udviklere rundt om på kloden. Erfaringen fra bl.a. dette forum siger, at løsningen på dit specifikke problem ikke er særlig efterspurgt - selvom den lige nu ville være kanon smart for dig.

Man kunne have lige så god grund til at være 'disgruntled', hvis W3C eller browserleverandørerne brugte energi på den slags - for mig og mange andre - totalt ligegyldige detaljer.

Pensionister kan være rystende ligeglade med reglerne for opnåelse af SU - mens mange studerende er rystende ligeglade med reglerne for pension. Sådan har den helt aktuelle kontekst (desværre) overvældende betydning for vores vurdering af tings vigtighed  *o)
Avatar billede Slettet bruger
13. august 2011 - 20:19 #9
SU- og pensionslovgivningen er af essentiel betydning for alle aktive deltagere i demokratiet!

: p

Når ikke der (tilsyneladende) er en sikkerhedsfaktor indblandet, kan "manglen" på denne feature skyldes, at det interne layer-maskineri kommer i knibe hvis der er flere samtidigt åbne <select>s..
- i modal-knibe : )

Hvilken skal reagere på pil op/ned, f.eks..
Avatar billede olebole Juniormester
13. august 2011 - 20:30 #10
1) Ja, i et ideelt, velfungerende og aktivt demokrati. Jeg talte om den reelle, danske virkelighed  *D

2) Det er et rigtig godt blandt flere gode bud. Select elementet er en blanding af browser og system features. Derfor har stylingmulighederne - eller mangel på samme - også altid været en frustrationskilde
Avatar billede Slettet bruger
24. august 2011 - 07:12 #11
Det kommer vi nok ikke nærmere.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester