Переделка кода
Привет всем.
Подскажите пожалуйста как переделать код чтобы. При первом помеченном чебоксе сумма не прибавлялась при пометке второго и последуйщего сумма начала прибавляться. Вот собственно код: <form name="Sum"> <input type="checkbox" value="1"/> <input type="checkbox" value="2"/> <input type="checkbox"/> <input type="checkbox" value=""/> <input type="checkbox" value="3"/> <input type="checkbox" value="4"/> <input type="checkbox" value="5"/> <output id="rezultat">Сумма: 0</output> </form> var s = document.forms.Sum, d = s.querySelectorAll('input[type="checkbox"]:not([value]), input[type="checkbox"][value=""]'); for (var i = 0; i < d.length; i++) // чтобы не было написано NaN, убираем в disabled пункты, где не прописаны значения d[i].disabled = true; s.onchange = function() { // начало работы функции сложения var n = s.querySelectorAll('[type="checkbox"]'), itog = 0; for(var j=0; j<n.length; j++) n[j].checked ? itog += parseFloat(n[j].value) : itog; document.getElementById('rezultat').innerHTML = 'Сумма: ' + itog; } |
Ramzes94,
<!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> </head> <body> <form name="Sum"> <input type="checkbox" value="1"/> <input type="checkbox" value="2"/> <input type="checkbox"/> <input type="checkbox" value=""/> <input type="checkbox" value="3"/> <input type="checkbox" value="4"/> <input type="checkbox" value="5"/> <output id="rezultat">Сумма: 0</output> </form> <script> var s = document.forms.Sum; s.onchange = function() { // начало работы функции сложения var n = s.querySelectorAll(':checked'), itog = 0; for(var j=0; j<n.length; j++) itog += +n[j].value||0; document.getElementById('rezultat').innerHTML = 'Сумма: ' + itog; } </script> </body> </html> |
Рони привет дружище)))
Подскажи пожалуйста можно сделать так чтобы javascript автоматом определял что: если выбран один чебокс, любой не важно какой, то сумма не увеличатся.
При выборе двух чебоксов считается сумма которая указанна в втором чебоксек. |
Цитата:
|
Ramzes94,
задача про the horse in vacuum ? <!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> </head> <body> <form name="Sum"> <input type="checkbox" value="1"/> <input type="checkbox" value="2"/> <input type="checkbox"/> <input type="checkbox" value=""/> <input type="checkbox" value="3"/> <input type="checkbox" value="4"/> <input type="checkbox" value="5"/> <output id="rezultat">Сумма: 0</output> </form> <script> var s = document.forms.Sum, temp; s.onchange = function() { // начало работы функции сложения var n = s.querySelectorAll(':checked'), itog = 0; if(n.length == 1) {temp = n[0]}; if(!n.length) {temp = null}; for(var j=0; j<n.length; j++) if(n[j] != temp) itog += +n[j].value||0; document.getElementById('rezultat').innerHTML = 'Сумма: ' + itog; } </script> </body> </html> |
Отлично от души
Спасибо дружище то что надо)
|
Часовой пояс GMT +3, время: 15:15. |