Avatar billede Slettet bruger
15. juli 2012 - 14:56 Der er 17 kommentarer og
1 løsning

Rulleliste ændring af design?

Ifm noget mobil-webside med rulleliste, er der jo ingen grund til, den højre side af selectboksen er med, thi der popper en mere læsevenlig liste frem, hvorfra brugere så kan vælge.

For at spare plads vil jeg gerne have denne grafik i højre side fjernet eller måske udskiftet med en grafik, er det muligt og i bekræftende fald, hvordan?

Mvh. rwj
Avatar billede keysersoze Ekspert
15. juli 2012 - 15:19 #1
taler du om en HTML selectboks eller? Kan du give et link og/eller en lidt nærmere forklaring?
Avatar billede Slettet bruger
15. juli 2012 - 15:31 #2
Ja, det er en HTML box, som jeg kunne tænke mig at ændre på, noget i denne stil:

<select size="1" name="soeg" id="t1" onchange="this.form.submit()" style="margin:0px 0px 0px 0px; width:180px;height: 35px; border-radius:20px;font-size:17px;">


men jeg vil som sagt gerne fjerne den højre knap, da den er overflødig.
Avatar billede keysersoze Ekspert
15. juli 2012 - 15:41 #3
enkelte elementer - heriblandt selectboksen - er styret ret kraftigt ud fra klienten så du har ikke mange muligheder for at pille ved indstillingerne. Bedste alternativ er formentlig at kigge på jQuery og deres UI kontroller eller kigge på deres mobile løsninger.
Avatar billede Slettet bruger
15. juli 2012 - 15:46 #4
ja, tænkte nok det var noget i den stil, så det vil jeg gøre.

smid et svar, og fortsat god søndag herfra.

mvh. rwj
Avatar billede olebole Juniormester
15. juli 2012 - 17:10 #5
<ole>

Hvad mener du helt præcist med: "den højre side af selectboksen er med"? Måske, der alligevel findes et 'lusket cowboytrick'  =)

/mvh
</bole>
Avatar billede Slettet bruger
15. juli 2012 - 17:56 #6
den højre side, altså der hvor rullelisten er "grå" og har en nedadgående pil. Den er jo overflødigt ifm mobilsider.

havde du en trick:-)?
Avatar billede olebole Juniormester
15. juli 2012 - 19:22 #7
Du kan prøve dette eksempel som udgangspunkt for videre udvikling:

<div style="width:80px;overflow:hidden;border:1px solid red">
    <select onchange="this.nextSibling.value=this.options[this.selectedIndex].text"
        style="position:absolute;width:100px;opacity:0">
        <option value="1">Item #1</option>
        <option value="2">Item #2</option>
        <option value="3">Item #3</option>
    </select><input style="width:100%;border:0" type="text">
</div>
Avatar billede olebole Juniormester
15. juli 2012 - 19:25 #8
NB: Der må ikke være white-space mellem SELECT og INPUT. Så vil nextSibling nemlig være textNoden - ikke INPUT elementet.

Hvis du skal understøtte ældre IE'er, skal du også udvide dine opacity styles med et Alpha filter
Avatar billede Slettet bruger
15. juli 2012 - 19:57 #9
Tak, det virker i alle browsere, dog har jeg som du selv henviser til, ikke tjekket ældre IE.

Jeg ville dog gerne have at der stod noget i boksen som udgangspunkt, og gjorde sådan, men det virker ikke, har du et forslag til det?

<div style="width:80px;overflow:hidden;border:1px solid red">
    <select onchange="this.nextSibling.value=this.options[this.selectedIndex].text"
        style="position:absolute;width:100px;opacity:0">
        <option selected value="0">Vælg Farve</option>
        <option value="1">Item #1</option>
        <option value="2">Item #2</option>
        <option value="3">Item #3</option>
    </select><input style="width:100%;border:0" type="text">
</div>

Til Keysersoze, jeg giver pointene til olebole, da jeg kan bruge svaret fra ham, sorry:-)
Avatar billede Slettet bruger
15. juli 2012 - 20:13 #10
jeg tilføjede noget kode, og herefter fik jeg så tekst i boksen. Jeg ved ikke om det er den bedste metode, men sådan ser koden ud nu:

<div style="width:80px;overflow:hidden;border:1px solid red">
    <select  onchange="this.nextSibling.value=this.options[this.selectedIndex].text"
        style="position:absolute;width:100px;opacity:0">
        <option value="1">Item #1</option>
        <option value="2">Item #2</option>
        <option value="3">Item #3</option>
    </select><input style="width:100%;border:0" type="text"><b><div style="margin-top:-19px;">Vælg farve</div></b>
</div>
Avatar billede Slettet bruger
15. juli 2012 - 20:35 #11
Desværre jeg var lidt for hurtigt ude, min løsning på tekst i boksen virker ikke, da et valg af listen vil medføre, at der står 2 tekster samme sted. Det ser ud af h.. til og duer naturligvis ikke. Øv:-(
Avatar billede olebole Juniormester
15. juli 2012 - 21:06 #12
Det er helt elementær HTML: Skriv teksten i INPUT elementets value attribut  =)
Avatar billede Slettet bruger
16. juli 2012 - 07:56 #13
Selvfølgelig, det havde jeg lige overset, og er fikset nu. Virker perfekt.

Tak for hjælpen, smider du et svar?

Iøvrigt god sommer.

Mvh. rwj
Avatar billede olebole Juniormester
16. juli 2012 - 10:25 #14
Ellers tak, jeg samler ikke point. Men keysersoze gav dig faktisk et svar, som er helt korrekt, så prøv at spørge ham  =)

SELECT elementet er lidt en bastard af HTML og OS. Grunden til, at det her overhovedet kan lade sig gøre, er, at selve SELECT'ens 'tekstfelt' og pilknap ligger direkte i dokumentet og derfor skal kunne modtage CSS som opacity. Til gengæld viser løsningen også tydeligt, at selve popup'en er af 'anden etnisk oprindelse'. Den hører faktisk nærmere til i styresystemet og lader sig ikke sådan gemme
Avatar billede keysersoze Ekspert
16. juli 2012 - 12:53 #15
jeg overlever uden :)
Avatar billede Slettet bruger
16. juli 2012 - 13:37 #16
Ok til begge, jeg siger i hvert fald mange tak med ønske om en god sommer herfra.

mvh. rwj
Avatar billede olebole Juniormester
16. juli 2012 - 14:36 #17
Selvtak og i lige måde. Hvis ikke soze ønsker point, bør du selv lægge et svar og acceptere det, så tråden lukkes  =)
Avatar billede Slettet bruger
16. juli 2012 - 16:38 #18
hermed gjort
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