Avatar billede Shasim Novice
08. november 2006 - 12:00 Der er 24 kommentarer og
1 løsning

Uønsket komma i værdi

Jeg har en combobox med en række værdier ("2,5","3,5, osv)
hvor jeg har været nødt til at fjerne kommaet i data, så de her hedder ("25","35", osv), fordi det gav problemer når jeg skulle bruge værdierne som en del af et variabelnavn. Jeg vil jo stadig gerne ha', at brugeren ser tallene korrekt, altså med komma. Problemet er bare nu, at det der overføres i f.eks. "etellerandet = combobox.value" er det der står i labelen, altså 2,5.
Kan jeg komme omkring det på en eller anden måde?
Avatar billede mat Nybegynder
08. november 2006 - 12:05 #1
Decimaler i ikke-heltal i actionscript skrives ikke efter et komma, men efter et punktum; altså skrives 2,5 som 2.5 i actionscript.

Derudover forstår jeg ikke spørgsmålet?

mvh mat
Avatar billede Shasim Novice
08. november 2006 - 12:14 #2
De har ikke været skrevet som en streng.

Comboboxens værdier blir lagt i en variabel som en streng: bredde = "50";. Men det som brugeren blir præsenteret for i listen skal være et decimal tal, altså 5,0.
Jeg troede at når jeg så skrev f.eks. "enellerandenvariabel = combobox.value", så var det data-feltet og ikke labelen som ville blive overført. Men jeg får strengen "5,0" i stedet for det som står i data altså "50". Forstår du?
Avatar billede Shasim Novice
08. november 2006 - 12:15 #3
Ups, fejl: De HAR jo været skrevet som streng :)
Avatar billede Shasim Novice
08. november 2006 - 12:17 #4
Spørgsmålet går vel nærmest på om det er muligt at pille kommaet ud af strengen inden overførsel til variablen?
Avatar billede janbr Nybegynder
08. november 2006 - 12:24 #5
Har du prøvet med combobox.SelectedValue i stedet. Den burde hente værdien og ikke teksten.
Avatar billede Shasim Novice
08. november 2006 - 12:27 #6
Er du sikker på at der er noget der hedder SelectedValue...? Den vil li'som ikke rigtigt acceptere det som et gyldigt udtryk...
Avatar billede janbr Nybegynder
08. november 2006 - 12:28 #7
Nej er min fejl. Troede jeg var i .NET.  Sorry.
Avatar billede Shasim Novice
08. november 2006 - 12:35 #8
Øhmmmm....? Nå men har prøvet med SelectedItem istedet - virkede ikke :(
Avatar billede mat Nybegynder
08. november 2006 - 12:42 #9
du får vel data ud med;

combobox,selectedItem.data;

?
Avatar billede mat Nybegynder
08. november 2006 - 12:42 #10
ups;

combobox.selectedItem.data;
Avatar billede Shasim Novice
08. november 2006 - 12:59 #11
Nej... jeg kan ikke få det til at virke. Jeg gør sådan:
minvariabel = combobox.SelectedItem.data;
Jeg får undefined ved trace af minvariabel - det går godt hvis jeg skriver value i stedet...?
Avatar billede Shasim Novice
08. november 2006 - 13:06 #12
Altså så får jeg noget ud, men det er jo så med det uønskede komma.
Avatar billede Shasim Novice
08. november 2006 - 13:43 #13
Hmmm... nu er jeg så endt med at lave 9 if'er, som skal omskrive mine komma-strenge... en noget uelegant løsning, men det virker.

Hvis jeg tracede sådan:

trace("Item: "+combo.SelectedItem.data);
trace("Index: "+combo.SelectedIndex.data);
trace("value: "+combo.value);

Så fik jeg:

Item: undefined
Index: undefined
value: 5,0

Jeg gør jo nok et eller andet galt, men kan s.. ikke se hvad det er.
Avatar billede mat Nybegynder
08. november 2006 - 14:03 #14
Du kan fjerne kommaer med;

str1 = "2,5";
str2 = str1.split(",").join("");
trace(str2);

..men jeg ville nu gerne vide hvordan du bruger din combobox. Er din combobox sat til editable?

mvh mat
Avatar billede Shasim Novice
08. november 2006 - 14:59 #15
Tak, og ja den er sat til editable, men det er no ikke nødvendigt, så jeg prøver at sige false i stedet.
Avatar billede Shasim Novice
08. november 2006 - 15:06 #16
Nå...! Din fjern-komma-funktion virker fint hvis comboboxen er editable - ellers ikke. Ved ikke om det er som du forventede?
Avatar billede mat Nybegynder
08. november 2006 - 15:18 #17
Kig i hjælpen under ComboBox og ComboBox.value, der tror jeg du vil få dine spørgsmål besvaret :)
Avatar billede Shasim Novice
08. november 2006 - 15:32 #18
Det synes jeg så ikke rigtigt jeg havde held med - derfor spørger jeg her.
Avatar billede Shasim Novice
08. november 2006 - 15:42 #19
Jeg kan f.eks. ikke rigtigt finde forklaringen på hvorfor jeg ikke kan trace noget når comboen er sat til edtable=false, og jeg vil helst ha' at man ikke kan skrive i comboen, da resten af mit script går i mos, hvis der blir skrevet en ugyldig værdi i den.
Avatar billede mat Nybegynder
08. november 2006 - 18:17 #20
Fra hjælpen (ComboBox.value);

"Read-only property; if the combo box is editable, value returns the item label. If the combo box is static, value returns the item data."

Altså hvis din combobox er editable så returnerer ComboBox.value, det en bruger har angivet som label. Hvis den derimod ikke er editable, så returnerer ComboBox.value det, der er angivet i data feltet. Sådan forstår jeg det, og det virker sådan?

Så hvis du vil have label fra en combobox der ikke er editable, så kan man jo kigge på;

combobox.selectedItem.label;

Hvis du vil have data feltet fra en combobox der ikke er editable, så kig på;

combobox.selectedItem.data;

mvh mat
Avatar billede Shasim Novice
08. november 2006 - 20:22 #21
Jamen jeg fandt også selv, og har læst og forstået, præcis det samme stykke, men det virker jo IKKE sådan hos mig fordi jeg får undefined, når den ikke er editable, og det uanset om jeg bruger value eller SelectedItem.data. Det er dét jeg ikke forstår.
Avatar billede mat Nybegynder
08. november 2006 - 21:23 #22
ah, "selectedItem" er med lille s, skriver du det med stort s i dit script?
Avatar billede Shasim Novice
08. november 2006 - 22:02 #23
aijj hvor pinligt - det var jo lige det. Nu virker det :) Sorry, og tak for din tålmodighed. Læg svar så får du dine points.
Avatar billede mat Nybegynder
08. november 2006 - 22:15 #24
sådan kan det gå, jeg så det heller ikke før nu :)
Avatar billede Shasim Novice
08. november 2006 - 22:21 #25
tak og værs'go :)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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