Сумма checkbox + type="text"
Добрый день.
Подскажите пожалуйста как мне посчитать сумму в <output> при выборе чекбоксов? И еще как сделать проверку на включение type="checkbox", чтобы если включен, то в сложение сумм учитывать type="text" ? <table border="1" width="100%" bgcolor="#FFFF00"> <tr><form name="Sum"> <td colspan="2" align="center"><b><font size="4">Итого за оборудование = <output id="rezultat" name="rezultat">0</output> руб.</font></b></td> </tr> <tr> <td><label><input type="checkbox" name="vibor" value="15200">Прибор1 = 15200 руб.</label> <label><p><input type="checkbox" name="vibor" value="3500">Прибор2 = 3500 руб.</p></label> <label><p><input type="checkbox" name="vibor" value="1500">Прибор3 = 1500 руб.</p></label> </td> <td><label><input type="checkbox" name="vibor" value="15200">Прибор4 = 15200 руб.</label> <label><p><input type="checkbox" name="vibor" value="3500">Прибор5 = 3500 руб.</p></label> <label><p><input type="checkbox" name="vibor" value="1500">Прибор6 = 1500 руб.</p></label> <label><p><input type="checkbox" name="vibor" value="ON">Дополнительно: <input type="text" name="vibor2" size="20">руб.</p></label> </td></form> </tr> </table> Скрипт почему-то не работает... <script> 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; } </script> |
kristow,
нельзя форму резать строками!!! <!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> </head> <body> <form name="Sum"> <table border="1" width="100%" bgcolor="#FFFF00"> <tr> <td colspan="2" align="center"><b><font size="4">Итого за оборудование = <output id="rezultat" name="rezultat">0</output> руб.</font></b></td> </tr> <tr> <td><label><input type="checkbox" name="vibor" value="15200">Прибор1 = 15200 руб.</label> <label><p><input type="checkbox" name="vibor" value="3500">Прибор2 = 3500 руб.</p></label> <label><p><input type="checkbox" name="vibor" value="1500">Прибор3 = 1500 руб.</p></label> </td> <td><label><input type="checkbox" name="vibor" value="15200">Прибор4 = 15200 руб.</label> <label><p><input type="checkbox" name="vibor" value="3500">Прибор5 = 3500 руб.</p></label> <label><p><input type="checkbox" name="vibor" value="1500">Прибор6 = 1500 руб.</p></label> <label><p><input type="checkbox" name="vibor" value="ON">Дополнительно: <input type="text" name="vibor2" size="20">руб.</p></label> </td> </tr> </table> </form> <script> 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 += +n[j].value || +s.vibor2.value || 0); document.getElementById('rezultat').innerHTML = itog; } </script> </body> </html> |
да, косяк, спасибо...
|
Подскажите как можно сохранять выбранные значения?
т.е. я в таблицу mysql хочу сохранять в виде строки состояние чекбоксов, чтоб при загрузке страницы их же восстановить (включить нужные). Работа с mysql через php, тут все работает. А как методом javascript собрать значения включенных чекбоксов? И как из строки их же активировать при загрузке страницы? |
kristow,
не подскажу, ждите гуру. |
up
|
Цитата:
|
Цитата:
|
Спасибо, решение уже нашел.
|
Часовой пояс GMT +3, время: 15:39. |