Avatar billede wordwrap Nybegynder
25. maj 2005 - 13:25 Der er 5 kommentarer og
1 løsning

link ud fra select + checkbokse

Hejsa

Har brug for at få lavet et script der ud fra nogen valgte select + checkboxe kan lave et link...

valuen på både select og checkboxene er følgende varenavn|pris|varenr

linket vi ender op med skal være følgende:

eks

varenummer=varenr1:varenr2&antal=1:1&pris=pris1:pris2


må vel hellere lige nævne at der i forvejen bliver kørt følgende script, ved hjælp af onchance på boksene:

function visPris(elm){
  var f = elm.form;
  var sels = f.elements;
  var samlet = <?=$price; ?>;
  var varer = new Array;
  var x = 0;
  var store = 1;   
  for(i=0;sels.length>i;i++){
    if(sels[i].type=="checkbox")
        {
        if(sels[i].checked == true)
        {
        if(sels[i].value.match(/\d+(\.\d+)?$/))
            if(sels[i].value.split("|")[0] != 0)
            {
            samlet += +sels[i].value.split("|")[1];
              varer[x] = "- "+sels[i].value.split("|")[0]+ "<br>";
              x++;
              if(sels[i].value.split("|")[3] == 0)
                  {
                  store = 0;
                  }
              }
          }
          }
         
    else
        {
            if(sels[i].value.match(/\d+(\.\d+)?$/))
            if(sels[i].value.split("|")[0] != 0)
            {
            samlet += +sels[i].value.split("|")[1];
              varer[x] = "- "+sels[i].value.split("|")[0]+ "<br>";
              x++;
              if(sels[i].value.split("|")[3] == 0)
                  {
                  store = 0;
                  }
              }
          }
  }
 
 
var exmoms = samlet / 1.25;
exmoms=exmoms.toFixed(0);
  document.getElementById("SamletPris").innerHTML = samlet;
  document.getElementById("exmoms").innerHTML = exmoms;
  document.getElementById("allevarer").innerHTML = varer.join("");
  if (store > 0)
      {
      document.getElementById("lager").innerHTML = "Alle varer er på lager";
      }
    else
    {
    document.getElementById("lager").innerHTML = "Alle varer er ikke på lager";
      }
   
}



Så det optimale ville vel være at lave linket inde i den function, men syns ik lige jeg kan overskue at få det skruet sammen :s

nogen der lige kan overskue det ?? :D

på forhånd tak

/strange
Avatar billede roenving Novice
25. maj 2005 - 13:49 #1
F.eks.

-- allerførst i funktionen:

var linkvals = [[],[],[]];

-- og som eksempel fra den ene del af funktionen:

    else
        {
            if(sels[i].value.match(/\d+(\.\d+)?$/))
            var val = sels[i].split("|");
            if(val[0] != 0)
            {
            samlet += +val[1];
              varer[x] = "- "+val[0]+ "<br>";
              x++;
              if(val[3] == 0)
                  {
                  store = 0;
                  }
linkvals[0][linkvals[0].length] = val[2];
linkvals[1][linkvals[1].length] = "1";
linkvals[2][linkvals[2].length] = val[1];
              }
          }

-- og sidst i funktionen:

var link = "varenummer=" + linkvals[0].join(":") + "&antal=" + linkvals[1].join(":") + "&pris=" + linkvals[2].join(":");
Avatar billede wordwrap Nybegynder
25. maj 2005 - 14:07 #2
yipper... det er jo noget der virker :D

sårn lige en lille ting... hvordan får jeg så 'link' ind i en <a href="her skal 'link' så gerne være"> ??
Avatar billede roenving Novice
25. maj 2005 - 14:12 #3
Ved at sætte et id på linket:

<a id="mitLink" href="varekurv.asp?" ...

-- og

document.getElementById('mitLink').href += link;
Avatar billede wordwrap Nybegynder
25. maj 2005 - 14:18 #4
takker

smider du lige et svar ?
Avatar billede roenving Novice
25. maj 2005 - 14:30 #5
Velbekomme '-)
Avatar billede roenving Novice
25. maj 2005 - 15:08 #6
-- og tal for point ;~}
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