Avatar billede olzen Nybegynder
31. maj 2007 - 16:35 Der er 4 kommentarer og
1 løsning

Ændring af "vælg antal" funktion

Hej alle,

Jeg har lige en lille opgave, som jeg håber nogen kan hjælpe med.. Jeg har i en shop en funktion, hvor man kan vælge hvilket antal, fra 1-10 som man vil ligge i sin indkøbskurv..

Den funktion har jeg brug for fungerer på en lidt anden måde..

Mulighed 1:
At man kun kan vælge mellem nogle bestemte tal:
3-6-7-8-9-10-11-12-24-36

Mulighed 2:
At man har et fritekst felt, hvor man selv som kunde indtaster antal

Håber nogen kan hjælpe.. Funktionen skulle være vist nedenfor:

--------------------------------------------------

$markerArray["###PRODUCT_QUANTITY_SELECTOR###"] = "<select name='product[".$row['uid']."][num]'>";
    /*if ($this->basket["products"][$row['uid']]["num"]<1)    {
            $markerArray["###PRODUCT_QUANTITY_SELECTOR###"] .= "<option value='0' selected>".$this->pi_getLL('###LABEL_QUANTITY###')."</option>";
        }    else    {
            $markerArray["###PRODUCT_QUANTITY_SELECTOR###"] .= "<option value='0'>0"</option>;
        }*/
    $iCombinations = $markerArray["###PRODUCT_COMBINATIONS###"];
    $markerArray["###PRODUCT_QUANTITY_SELECTOR###"] .= "<option value='0'>0</option>";
    if ($iCombinations==0)
      $iCombinations = 1;
    for ($i=$iCombinations; $i<11*$iCombinations; $i=$i+$iCombinations)    {
      if ($i==$this->basket["products"][$row['uid']]["num"] || ($i==$iCombinations && $this->basket["products"][$row['uid']]["num"]<=0))
    $markerArray["###PRODUCT_QUANTITY_SELECTOR###"] .= "<option value='".$i."' selected>".$i."</option>";
      else
    $markerArray["###PRODUCT_QUANTITY_SELECTOR###"] .= "<option value='".$i."'>".$i."</option>";
    }
    $markerArray["###PRODUCT_QUANTITY_SELECTOR###"] .= "</select>";

--------------------------------------------------
Avatar billede jakobdo Ekspert
31. maj 2007 - 21:24 #1
Jeg har ikke muligt for at teste det, men måske sådan her:

Mulighed 1:

$markerArray["###PRODUCT_QUANTITY_SELECTOR###"] = "<select name='product[".$row['uid']."][num]'>";

$iCombinations = array(3,6,7,8,9,10,11,12,24,36);
$markerArray["###PRODUCT_QUANTITY_SELECTOR###"] .= "<option value='0'>0</option>";

foreach($iCombinations as $option)
{
    if ($option==$this->basket["products"][$row['uid']]["num"])
        $markerArray["###PRODUCT_QUANTITY_SELECTOR###"] .= "<option value='".$option."' selected>".$option."</option>";
    else
        $markerArray["###PRODUCT_QUANTITY_SELECTOR###"] .= "<option value='".$option."'>".$option."</option>";
}
$markerArray["###PRODUCT_QUANTITY_SELECTOR###"] .= "</select>";

Mulighed 2:

$markerArray["###PRODUCT_QUANTITY_SELECTOR###"] = "<input type='text' name='product[".$row['uid']."][num]' />";
Avatar billede olzen Nybegynder
31. maj 2007 - 22:06 #2
Hej Jakob,

Mulighed 1 virker perfekt.. Nr. 2 virker ikke helt.. Men jeg ser lige om mulighed 1 ikke kan gøre det.. :-) Tusind tak for hjælpen.. Smid et svar så er der point.. Mange tak for hjælpen.. :-)
Avatar billede jakobdo Ekspert
01. juni 2007 - 07:34 #3
Svar!

Hvad er der galt med mulighed 2?
Måske der skal angives andet navn i stedet for: product[".$row['uid']."][num]
Avatar billede olzen Nybegynder
01. juni 2007 - 16:33 #4
Mulighed 2 laver godt nok input feltet, men gemmer ikke indtastningen..
Avatar billede jakobdo Ekspert
01. juni 2007 - 18:24 #5
Det burde den nu ellers!
Men der komme selvfølgelig an på hvad det kode som gemmer data forventer.
Kan du finde det kode?

PS: Takker 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