Avatar billede milo Nybegynder
17. maj 2005 - 14:58 Der er 14 kommentarer og
1 løsning

Få fat på option felt uden value

Lige en hurtig en, google ikke gider svare på.

Hvis jeg har et option felt uden value, fx <option name="foo">bar</option>

Hvordan kan jeg så tjekke op mod det felt?

if (document.getElementById('foo').value != "" ) { //foo }

Var mit bud, men hvordan?
Avatar billede milo Nybegynder
17. maj 2005 - 14:59 #1
og <select id="foo"> ... </select>

selvfølgelig ;)
Avatar billede busschou Praktikant
17. maj 2005 - 15:00 #2
du kan tjekke på om selectedindex er 0
Avatar billede milo Nybegynder
17. maj 2005 - 15:01 #3
busschou - der vil være andre felter i select'en, som jeg også skal kunne tjekke på. Antallet af options varierer...
Avatar billede fixxxer Nybegynder
17. maj 2005 - 15:01 #4
Jeg ville altid kontrollére op imod <select>-elementets value, da dette indholde den markere options value.

Dvs

alert(document.getElementById('foo').value);

vil give value for den markere option.

Er det der du vil hen?
Avatar billede busschou Praktikant
17. maj 2005 - 15:01 #5
ja men hvis selectedindex er 0 så er intet valgt.. troede det var det du mente med deT?
Avatar billede milo Nybegynder
17. maj 2005 - 15:04 #6
fixxer - option elementet har ingen value.

busschou - Jo, men jeg har også flere options i samme select, som heller ingen value har. Skal kunne tjekke op på disse også. Altså duer selectedIndex ikke.

Så vidt jeg har forstået skulle HTMLSelectElement.value tjekke om value er sat, hvis ikke, bruger den teksten mellem <option></option>, som value. Men dette synes ikke at virke heller. Kan ikke få mit tjek til at blive true.
Avatar billede olebole Juniormester
17. maj 2005 - 17:54 #7
<ole>

milo >> option-elementet har da så sandelig en value-attribut ... men det har ingen name-attribut  ;o)

Da der ikke kan være id- eller name-attributter på option-elementer, har jeg svært ved at se, hvad det er, du prøver på. Hvordan vil du validere - eller mere specifikt: hvordan vil du adressere de enkelte options?

/mvh
</bole>
Avatar billede milo Nybegynder
17. maj 2005 - 18:14 #8
Det var en fejl at jeg fik smidt name på.

Det jeg vil er:

<select id="foo">
  <option>bar</option>
  <option value="0">flaf</option>
  <option value="1">flaf</option>
  <option value="2">flaf</option>
  <option>bar</option>
  <option value="0">flaf</option>
  <option value="1">flaf</option>
  <option value="2">flaf</option>
</select>

Jeg vil så lave en if, der tjekker om man har valgt et felt uden value. Mit bud var:
if (document.getElementById('foo').value != "" ) { //foo }

Forstår du bedre nu? :)
Avatar billede olebole Juniormester
17. maj 2005 - 19:16 #9
Det kan du ikke umiddelbart.
1. Kan du have flere options uden en value i samme select?
2. Hvorfor i alverden sætter du ikke bare en value på alle options?
3. Jeg forstår stadig ikke, hvad du vil. Denne linie fortæller jo ikke noget om, hvad du vil:
  if (document.getElementById('foo').value != "" ) { //foo }
Avatar billede olebole Juniormester
17. maj 2005 - 19:17 #10
Det ville nok være en fordel, hvis du ikke holder info så tæt til kroppen - og fortæller, hvad det er, du er ved at lave - og hvad den dybere mening er med den ønskede funktionallitet
Avatar billede roenving Novice
18. maj 2005 - 00:43 #11
-- og alternativet er, såvidt jeg kan se, at du laver en ellers frugtesløs itererering igennem alle option, sammenholder selectedIndex med aktuelle index og dermed finder den gruppe, du har det i ...

-- måske er optiongroup det tag, du har brug for: http://blooberry.com/indexdot/html/tagpages/o/optgroup.htm
Avatar billede milo Nybegynder
20. maj 2006 - 10:50 #12
Læg et svar så kan I dele.
Avatar billede olebole Juniormester
20. maj 2006 - 11:39 #13
lagt  :)
Avatar billede johnstigers Seniormester
13. august 2006 - 10:27 #14
Husk at acceptere :)
Avatar billede olebole Juniormester
16. oktober 2007 - 18:51 #15
Tak for points  ;o)
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