Cum iau cu javascript valorile dintr-un select option?

Vreau să implementez structura de aici, http://prnt.sc/ayfyk2
Codul este pus pe codepen, http://codepen.io/CostiCampean/pen/qZJerx
De ce îmi zice: spotTheSelect is null ?

Poate vroiai sa folosesti

document.getElementById(currentID);

in loc de

document.getElementById("currentID");

În documentația de pe MDN îmi zice să folosesc apostroafe când setez argumentele pentru metode. Am încercat și cum mi-a recomandat Sergiu dar nu se schimbă nimic.

function return_selected(currentID) { var spotTheSelect = document.getElementById(currentID); var valueSpot = spotTheSelect.options[spotTheSelect.selectedIndex].value; return valueSpot; }

In codul asta, currentID este un parametru pe care il primeste functia return_selected, deci nu trebuie sa folosesti apostroafe.

Nu e codul complet pe CodePen, nu-mi dau seama ce sunt row11, row12 etc.

Vezi în tabul de html. Cu row111, row12 am targhetat fiecare select de pe pagină.

Ok.

http://pastebin.com/cygdTchZ aici ai codul corect.

In primul rand, ti-am pus un id pe <span id="price" class="first-price">.

In al doilea rand, document.getElementById('price').innerHTML = "$" + calcPrice; aici iti referentez id-ul adaugat, getElementByClassName = a big nono.

In al treilea si ultimul rand, nu ai nevoie de :

return_selected('row11'); return_selected('row12'); return_selected('row13');

Si de fiecare data cand folosesti row11, row12 si row13, pune-le intre ghilimele.

LE: mai ai de invatat Javascript, dar imi place ca nu te-ai aruncat direct in Angular sau React, ca altii. Esti pe calea cea buna :slight_smile:

@voxspace Merci pentru timpul acordat și încurajări. Am făcut modificările postate mai sus și tot nu îmi pune $9000 in spanul cu id ul price. Am pus și un console.log dar nu îmi returnează ceva in inspector…

Nu-i pb, imi face placere.

http://codepen.io/anon/pen/bpQNGJ Uite aici pus codul pe codepen, cand selectezi ceva prin dropdown-uri, iti calculeaza ultima valoare. E ok asa?

1 Like

Este aproape de cum imi doresc să se comporte selectul. Vreau să-mi afișeze un rezultat și by default imediat ce se încarcă pagina.
LE: am adăugat document.addEventListener("DOMContentLoaded", combine_selected); și merge ca uns.

2 Likes