Скрипт подсчёта чек боксов по имени а не по id
Вот скрипт который считает чекбоксы
<script type="text/javascript"> function price(form){ var total = 0; for (var i = 1; i< form.elements.length; i++){ if (document.getElementById(i).checked) { var b=parseFloat(document.getElementById(i).value); } else { b=0; } total+=b; } document.getElementById("total_price").innerHTML=total; document.getElementById("total_prie").value=total; document.getElementById("total_pr").value=total; } </script> Имя поля у меня xz_ как мне сделать что бы он обращался по имени!? а имя я уже потом поставлю на увеличение. |
Цитата:
document.getElementsByName('нужное_имя') |
та можешь им оставить и id и name - переписывать не придется.
|
Слушай прогресс есть хотя бы потому что хоть нолик стал появляться, но он не считает подскажи может я не правильно переписал скрипт!?
вот поля которые он считает <?php $menuMail='<input type="checkbox" name="xz_'.$raz_na->id.'" id="'.$b.'" value="'.$raz_na->cena.'">'; $b++; echo $menuMail;?> xz_ оно не меняется оно всегда такое! я так понял что в for нужны другие условия какие подскажи пожалуйста! <script type="text/javascript"> function price(form){ var total = 0; for (var i = 1; i< form.elements.length; i++){ if (document.getElementsByName('xz_').checked) { var b=parseFloat(document.getElementsByName('xz_').value); } else { b=0; } total+=b; } document.getElementById("total_price").innerHTML=total; document.getElementById("total_prie").value=total; document.getElementById("total_pr").value=total; } </script> |
не могу я id поставить! скрипт полностью рабочий дело в том что если добавить ещё поля любые то скрипт перестаёт работать!
|
document.getElementsByName('xz_').checked так а ты же имя поля не подставляешь - циферку - ту, что в цикле |
Цитата:
document.getElementsByName('нужное_имя') возвращает целую коллекцию элементов с таким именем. Т.о. нельзя кним обращаться document.getElementsByName('xz_').checked или document.getElementsByName('xz_').value Нужно писать document.getElementsByName('xz_')[<порядковый_номер_элемента>].checked или document.getElementsByName('xz_')[<порядковый_номер_элемента>].value |
Я понял щас проверю! Могу я так сделать?
<script type="text/javascript"> function price(form){ for (var i = 1; i< form.elements.length; i++){ if (document.getElementsByName('xz_')[i].checked) { var b=parseFloat(document.getElementsByName('xz_')[i].value); } else { b=0; } total+=b; } document.getElementById("total_price").innerHTML=total; document.getElementById("total_prie").value=total; document.getElementById("total_pr").value=total; } </script> или же мне нужно id из базы сюда подставить!? name="xz_'.$raz_na->id.'" если эту то как я её в java script поставлю!? |
и вот ещё что хотел спросить что тогда конкретно в for прописать! в условие ()
|
Цитата:
Делай полный тестовый пример - нанём и будем "тренироваться". |
Часовой пояс GMT +3, время: 12:32. |