Autor | Zpráva | ||
---|---|---|---|
Chuchycek Profil |
Ahoj,
chtěl bych se zeptat jakým způsobem lze dostat hodnoty z pole v inputu? Když nevím jaký bude index v poli (pole[1], pole['a']) a neznám ani jeho délku. <input type="radio" name="pole[0]" value="1" checked="checked"><br> <input type="radio" name="pole[0]" value="2"><br> <input type="radio" name="pole[0]" value="3"><br> <input type="radio" name="pole[0]" value="4"><br> <input type="radio" name="pole[0]" value="5"><br> <input type="radio" name="pole[1]" value="1" checked="checked"><br> <input type="radio" name="pole[1]" value="2"><br> <input type="radio" name="pole[1]" value="3"><br> <input type="radio" name="pole[1]" value="4"><br> <input type="radio" name="pole[1]" value="5"><br> var ele = document.getElementsByName("pole[]"); alert(ele.length); |
||
Chuchycek Profil |
#2 · Zasláno: 7. 3. 2013, 17:53:05
Tak jsem to vyřešil nakonec sám, nevím jestli je to nejlepší řešení, ale v mém skriptu to vypadá takhle:
function suma(id, cena, div){ var celkovaCena = 0; var elements = document.getElementsByTagName("input"); for(var i = 0; i < elements.length; i++){ element = elements[i]; if(element.type == "radio"){ if(element.checked){ if(element.id == id){ if(element.value > 0){ celkovaCena = celkovaCena + cena; } } } } } document.getElementById(div).innerHTML = celkovaCena; } |
||
Joker Profil |
#3 · Zasláno: 7. 3. 2013, 18:06:35
Chuchycek:
Ta funkce má jako vstup id elementu. Sice nevím kde se vezme, protože v tom HTML v [#1] není, ale předpokládám, že v současné verzi je. Takže pak můžete prostě a jednoduše použít document.getElementById. function suma(id, cena, div) { var el = document.getElementById(id); document.getElementById(div).innerHTML = (el && el.checked && (el.value > 0)) ? cena : "0"; } |
||
Chuchycek Profil |
#4 · Zasláno: 7. 3. 2013, 18:12:25
Ano, v současné verzi je, jelikož tam je víc typů radio, takže abych ji omezil pouze na dané elementy, tak jsem to musel upravit. Díky, to je pravda v js jsem začátečník, takže si ještě nejsem tolik jistý, co se může a co ne.
|
||
Časová prodleva: 11 let
|
0