Javascript pomoč
 
Gogy 4. nov 2012 12:25:26 Pridružen od:
17. mar 2007
2491 objav
2064 252 12
#1

Pozdravljeni,



imam enega ali več dropdown (select box-ov). Rad bi naredil SUM vseh izbranih value-ov.



Primer:


<select name="stm_time[]">
<option value="210">Ta je 210</option>
<option value="511" selected="selected">Ta je 511</option>
<option value="860">Ta je 860</option>
</select>

<select name="stm_time[]">
<option value="310">Ta je 310</option>
<option value="912" selected="selected">Ta je 912</option>
<option value="1260">Ta je 1260</option>
</select>

.

.

.



Lahko je eden ali več select box-ov.



Zdaj bi rad seštel vse izbrane vrednosti (ne text!). Torej 511 in 912 = 1423



Vem, da bi najprej moral nekako dobiti število select box-ov, nato bi verjetno moral čez vse izbrane in vmes seštevat in vrnit rezultat, vendar je sintaksa problem, ker je nisem potreboval kaj pogosto in sem se vedno znašel z rešitvami s spleta.



Na Googlu mi za zadetke prikazuje vse razen tega kar jaz potrebujem (verjetno neznam vpisat to kar iščem). Vesel bom tudi, če mi pošljete povezavo do podobnega primera.



Hvala in lp


všeč(0) ni všeč(0) spam(0)
 
mprose7 4. nov 2012 12:36:39 Pridružen od:
18. mar 2008
911 objav
293 39 6
#2

isci jquery, .serialize(), validate, +,


všeč(0) ni všeč(0) spam(0)
Oprema stanovanj in izris 3d objektov na: Notranja oprema
Trgovina z lesnim hobi programom: Razrez iverala
 
Gogy 4. nov 2012 12:58:23 Pridružen od:
17. mar 2007
2491 objav
2064 252 12
#3

mprose7, hvala za navodila a prosil bi za malce podrobnejšo razlago, ker nisem delal še z njim razen tega da sem vgradil en date picker :)


všeč(0) ni všeč(0) spam(0)
 
Mešetar 4. nov 2012 13:03:03 Pridružen od:
24. nov 2010
1543 objav
1945 962 114
#4

cimprej presaltaj vse skupaj na jQuery, bos imel OGROMNO lazej delo...



v tvojem primeru pride v postev en simple select izbranih opcij in preverjanje value-ja

sam bi dodal se class na select za lazjo izbiro... zakaj imas pa isto ime na obeh selectih?


všeč(0) ni všeč(0) spam(0)
 
technolog 4. nov 2012 13:08:07 Pridružen od:
14. nov 2011
598 objav
768 300 22
#5

http://jsfiddle.net/SffpH/


var vsota=0;
$('select').each(function() {
vsota+=+$(this).val();
});
alert('Vsota je '+vsota);
všeč(1) ni všeč(0) spam(0)
Z linuxom že 7 let. Pro web development.
 
Mešetar 4. nov 2012 13:10:46 Pridružen od:
24. nov 2010
1543 objav
1945 962 114
#6
var vsota=0;
$('select option:selected').each(function() {
vsota+=+$(this).val();
});
alert('Vsota je '+vsota);

ce bi imel multiselect..mislim, da bi moglo delat


všeč(1) ni všeč(0) spam(0)
 
Gogy 4. nov 2012 13:11:40 Pridružen od:
17. mar 2007
2491 objav
2064 252 12
#7

V tem primeru lahko za en dan izbereš da si delal več stvari za več različnih stroškovnih mest. Ker se dodajajo novi select-i prav tako preko javascripta sem mislil to na enak način tudi dokončati. Sedaj bi bilo potrebno samo dodati, da ti izpisuje koliko ur (iz registratorja) imaš še nedodeljenih v stroškovnih mestih, ki jih ravnokar izbiraš/dodajaš.



Saj veš da se ponavadi za že delujoče stvari nihče ne spravlja popravljat, ker na koncu lahko pride ven neupravičeno število porabljenih ur v primeru neuspeha iz prvega poizkusa.



Debugiranje pa lahko traja če še nisi delal z jQuery-jem.



Vem da jQuery pospešuje delo a če ga grem vpeljevat za vse nazaj bo to bolečina in bo trajalo. Trenutno nimam niti časa niti možnosti zaradi nepoznavanja.



EDIT: Vmes vidim že dva odgovora. Pa bo to delovalo če imamo še druge selecte pred tem? Kako omejim samo na select z id oz. name "stmtime" oz. "stmtime[]"?


všeč(0) ni všeč(0) spam(0)
 
Mešetar 4. nov 2012 13:16:00 Pridružen od:
24. nov 2010
1543 objav
1945 962 114
#8

oba predloga delujeta za vse selecte, torej ne za omenjena selecta... in seveda samo ce imas jquery nalozen


všeč(0) ni všeč(0) spam(0)
 
technolog 4. nov 2012 13:19:15 Pridružen od:
14. nov 2011
598 objav
768 300 22
#9

Uporabiš pač samo ta selektor:



$('select[name="stm_time[]"]')



To se da napisat tud v čistem JS, kar ti svetujem, ker je brezveze samo zaradi tega vključit 50KB dependency.


všeč(1) ni všeč(0) spam(0)
Z linuxom že 7 let. Pro web development.
 
Gogy 4. nov 2012 13:21:27 Pridružen od:
17. mar 2007
2491 objav
2064 252 12
#10

Hvala obema!



Zdaj upam, da bo šlo enostavno implementirat vse skupaj :)


všeč(0) ni všeč(0) spam(0)
 
 

🔒 Za odgovor na to temo se moraš prijaviti.

Prijavi se