Скрипт подсчёта чек боксов по имени а не по 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, время: 21:45. |