Archief - JS: select id variabele maken voor scriptje

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

FitZ

Legacy Member
Jow iedereen,

Ik ben bezig met een js scriptje voor een site van een snackbar om een bezoeker keuzes te laten maken tussen verschillende formaten broodjes en met/zonder groenten.

JS-CODE:
Code:
<script language="Javascript">
    var prijs="";
    function veranderPrijs(getal, plaats) {
      //var nieuwePrijs = document.getElementById(plaats);
      prijs = getal;
      document.getElementById(plaats).innerHTML = prijs;
    }
    
    function veranderPrijsMet(getalPiccolo, getalStok, plaats) {
      if ((document.form.formaatKaas.value) == "piccolo") {
        alert("PICCOLO");
        prijs = getalPiccolo;
        document.getElementById(plaats).innerHTML = prijs;
        }
      else {
        alert("STOKBROOD");
        prijs = getalStok;
        document.getElementById(plaats).innerHTML = prijs;
        }
    }

</script>

HTML-CODE:
Code:
<tr>
      <td align="left">Kaas</td>
      <td align="left">
        <select id="formaatKaas">
          <option onClick="veranderPrijs('1.40','plaatsKaas');" id="piccolo" name="piccolo" value="piccolo">piccolo</option>
          <option onClick="veranderPrijs('1.70','plaatsKaas');" id="stokbrood" name="stokbrood" value="stokbrood">stokbrood</option>
        </select>
      </td>
      <td align="left">
        <input type="checkbox" id="checkboxKaas" name="checkboxKaas" value="checkboxKaas"  onClick="if (checked) {veranderPrijsMet('1.80','2.20','plaatsKaas');} else {veranderPrijsMet('1.40','1.70','plaatsKaas');}">
      </td>
      <td id="plaatsKaas" align="left"></td>
      <td align="left"><input type="text" id="aantal" size="1" maxlength="3" value="0"></td>
    </tr>

ONLINE: hier

Het probleem ligt hem dus bij de test
Code:
if ((document.form.formaatKaas.value) == "piccolo")

deze werkt natuurlijk bij het broodje kaas, maar dan ook enkel hierbij omdat formaatKaas een specifieke benaming is. Deze zou variabel moeten zijn zodat ik meerdere broodjes op de pagina kan plaatsen zonder enorm veel js-code.

Heb reeds geprobeerd om het mee te geven met een parameter, maar blijkbaar lukt dat ook niet of heb ik iets verkeerds gedaan...

Enige hulp zou enorm geapprecieerd worden, alvast bedankt!

Mvg.

WHiSPy

Legacy Member
Probeer eens met single quotes te werken? De tekst dus als een constante string te declareren in javascript. :)

Radiance

Legacy Member
't Heeft weinig te maken met uw specifieke vraag, maar imo toch iets waar je rekening mee moet houden aangezien het blijkbaar een production site zal worden.

Ik wil ne smos picolo kaas zonder & een stokbrood kaas, met groentjes, hoe bestel ik dat? :p
Tenzij het je bedoeling is van de selectie in een winkelmandje te steken & ik daarna nogmaals kan kiezen, is dit systeem niet echt efficiënt.

FitZ

Legacy Member
Heb ondertussen een andere manier van werken gevonde, thx anyway!

en ja Radiance, er wordt met een winkelkarretjessysteem gewerkt :)
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan