Avatar billede hopeless Nybegynder
19. december 2004 - 15:34 Der er 12 kommentarer og
1 løsning

Fange radiobutton værdi og calc med VB variabel

Hejsa,
Sidder og roder med en clientside calculation som går galt.

Jeg har en forud defineret pris som jeg hiver ud af min Database.
Samt jeg har et udtræk med en masse priser som jeg har lagt i en form af radiobuttons. (kun een radiobutton kan vælges)

Hvordan kan jeg med noget onchange på radiobuttons lægge disse 2 priser sammen og vise dynamisk, evt i et textarea?
Avatar billede roenving Novice
19. december 2004 - 15:42 #1
F.eks.

<script type="text/javascript">
var pris = <% = rs("pris") %>;
var sum = 0;
</script>

<form>
25,- <input type="radio" name="xPris" onclick="this.form.samletPris.value=pris+25;"><br>
50,- <input type="radio" name="xPris" onclick="this.form.samletPris.value=pris+50;"><br>
100,- <input type="radio" name="xPris" onclick="this.form.samletPris.value=pris+100;"><br>
Samlet pris: <input type="tekst" value="" name="samletPris">
</form>
Avatar billede hopeless Nybegynder
19. december 2004 - 15:45 #2
det så nemt ud.. Afprøver det lige :)
Avatar billede hopeless Nybegynder
19. december 2004 - 15:53 #3
Ja, ser ud til at virke fint..

Kan jeg formater feltet så det viser en pris ala DKK.895,25
Avatar billede roenving Novice
19. december 2004 - 16:03 #4
Det ville være mest indlysende at skrive den faste tekst udenfor, og så har vi jo fat i javascript, hvor det er punktum, som er decimal-separator, og det tror jeg de allerfleste vil forstå, men f.eks.

Samlet pris: DKK <input type="tekst" value="" name="samletPris">

Hvis du skal lave det sådan, at det altid er med 2 decimaler og med komma, skal du have en funktion, som lige klarer det, f.eks.

<script type="text/javascript">
function afrund(tal){
  if(isNaN(tal))return "0,00";
  tal = ""+(Math.round(tal*100))/100;
  punktum = tal.indexOf(".");
  if (punktum==-1)return tal+",00";
  if (tal.length-punktum==3)return tal.replace(/\./,",");
  else return tal.replace(/\./,",")+"0";
}
</script>

-- og så sætte det på dine radios:

25,- <input type="radio" name="xPris" onclick="this.form.samletPris.value=afrund(pris+25);"><br>
Avatar billede hopeless Nybegynder
19. december 2004 - 16:06 #5
Lækkert, lækkert!
Avatar billede roenving Novice
19. december 2004 - 16:08 #6
Velbekomme '-)
Avatar billede hopeless Nybegynder
19. december 2004 - 16:13 #7
Jeg skal bare bruge et svar fra dig. Tak for den hurtige og meget gode hjælp!
Avatar billede roenving Novice
19. december 2004 - 16:15 #8
-- og tak for point ;~}
Avatar billede hopeless Nybegynder
19. december 2004 - 16:31 #9
Det er 100% mig som takker.. Kender jeg mig selv skal nok komme i endnu en knibe senere i min process.
Jeg er bare glad for der findes folk som dig.. Med hvilken elegance du fjerner mine bekymringer
Avatar billede hopeless Nybegynder
19. december 2004 - 18:52 #10
Roenving, hvis du stadig kigger med....
Jeg kunne godt tænke mig en SELECT hvor man kan vælge antal, og den så selv udregner mod det antal man vælger.

<SELECT NAME="antal">
    <OPTION SELECTED VALUE="1">1
    <OPTION VALUE="2">2
    <OPTION VALUE="3">3
    <OPTION VALUE="4">4
    <OPTION VALUE="5">5
    <OPTION VALUE="6">6
    <OPTION VALUE="7">7
    <OPTION VALUE="8">8
    </SELECT>

hvordan fanger jeg den value fra SELECT?
Avatar billede roenving Novice
20. december 2004 - 12:13 #11
De skal stå i samme form, så kan du:

<input type="radio" name="xPris" onclick="this.form.samletPris.value=afrund(pris+25*(+this.form.antal.value));"><br>
Avatar billede hopeless Nybegynder
31. december 2004 - 04:37 #12
lækkert nok.
Tsk fordi du svarede.. regner ik med du ser denne :)
Jeg ville nu godt have den vendt om så den blev en onchange på selve SELECT feltet.
dvs. så den vil regne både ved onclick på radio, samt ved en onchange på selecten, da man kan rette begge uafhængigt
Avatar billede roenving Novice
31. december 2004 - 10:49 #13
<select name="antal" onchange="this.form.samletPris.value=afrund(pris+25*(+this.value));"> ?-)

-- og som standard kommer der jo en mail, hvis der er et indlæg i en tråd, man har deltaget i, så der skal nok komme en reaktion, hvis der er mulighed eller grund dertil !-)
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