[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите создать массив
maximka787
Всем привет. Помогите пожалуйста переписать скрипт, чтобы считались все поля checkbox, сколько бы не сгенерировалось. На данном примере нужно прописывать все id.
Я пытался заменить на mycheck[] и тд но из-за невысокого уровня знаний не могу никак справиться. Сам скрипт идеально подходит для расчета суммы чекбоксов.
<script language="javascript">
function
add() {
var sum = 0;
var gn, elem;
for (i=0; i<5; i++) {
gn = 'game'+i;
elem = document.getElementById(gn);
if (elem.checked == true) { sum += Number(elem.value); }
}

document.getElementById('total').value = sum.toFixed(0);
}
</script>

<input
type="checkbox" id='game0' value="1" onClick="add()">1<br>
<input
type="checkbox" id='game1' value="2" onClick="add()">2<br>
<input
type="checkbox" id='game2' value="3" onClick="add()">3<br>
<input
type="text" id="total" value="">





Спустя 26 минут, 54 секунды (30.01.2011 - 15:22) maximka787 написал(а):
я попробовал переписать таким образом, но тут не работает
<script language="javascript">
function
add() {
var sum = 0;
var elem;
for (i=0; i<check.length; i++){
elem = document.getElementById(check[i]);
if (elem.checked == true) { sum += Number(elem.value); }
}

document.getElementById('total').value = sum.toFixed(0);
}
</script>

<input
type="checkbox" id='check[]' value="1" onClick="add()">1<br>
<input
type="checkbox" id='check[]' value="2" onClick="add()">2<br>
<input
type="checkbox" id='check[]' value="3" onClick="add()">3<br>
<input
type="text" id="total" value="">

Спустя 9 минут, 54 секунды (30.01.2011 - 15:31) Winston написал(а):
Тебе нужно посчитать количество чекбоксов которые были отмечены
Или сумму значений выбранных ?

Спустя 4 минуты, 13 секунд (30.01.2011 - 15:36) maximka787 написал(а):
Цитата (PHPprogramer @ 30.01.2011 - 12:31)
Тебе нужно посчитать количество чекбоксов которые были отмечены
Или сумму значений выбранных ?

Сумму значений checkbox-ов. Пример первоначальный и так считает, но мне надо чтобы был массив, тк чекбоксов не 5 а постоянно разное количество.

Спустя 1 час, 5 минут, 28 секунд (30.01.2011 - 16:41) Winston написал(а):
Вот что получилось:
Свернутый текст
<script language="JavaScript">
function add()
{
var check = document.getElementsByName("check[]");
var total = document.getElementById("total");
var l = check.length;
var sum = 0, i = 0;

for(i; i <= l; i++)
{
if(check[i].checked)
{
sum += parseInt(check[i].value);
total.value = sum;
}
}
}

</script>
<
form id="form">
<
input type="checkbox" name="check[]" id='check[]' value="1" onclick="add()">1<br>
<
input type="checkbox" name="check[]" id='check[]' value="2" onClick="add()">2<br>
<
input type="checkbox" name="check[]" id='check[]' value="3" onClick="add()">3<br>
<
input type="text" id="total">
</
form>

Попробуй.

Спустя 6 минут, 16 секунд (30.01.2011 - 16:47) maximka787 написал(а):
Цитата (PHPprogramer @ 30.01.2011 - 13:41)
Попробуй.

Все норм, но только когда после того как снимаешь со всех чекбоксов галки остается последнее значение. Не пойму как убрать это)

Спустя 13 минут, 27 секунд (30.01.2011 - 17:01) Winston написал(а):
Измени немного
var sum = 0, i = 0, c = 0;

Ещё это:
total.value = sum;
c++;

И после if добавь:

else if(c == 0)
total.value = "";


_____________
..Работает - не трогай!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.