2014-10-29 2 views
0

Я очень новичок в javascript, и я пытаюсь перебрать переменную, чтобы увеличить id до 60. У меня есть форма, в которой пользователи вводят числа, а затем мне нужно их добавить их. Это то, что у меня есть до сих пор.Get Element by ID looping

<input type="text" onkeyup="addNumbers()" id="name1"> 
<input type="text" onkeyup="addNumbers()" id="name2"> 
<input type="text" onkeyup="addNumbers()" id="name3"> 
etc.. 
<input type="text" id="total" disabled> 

function addNumbers(){ 

    var name = [] 

    for(var i = 0; i < 60; i++) { 
     name[i] = parseInt(document.getElementById("name" + i).value); 
    } 

var total = document.getElementById('total').value = var; 


} 
</script> 

Я не получаю никакого результата от вышеуказанного кода, поэтому я не уверен, что я делаю неправильно здесь.

+2

'document.getElementById ('общий') значение = вар;' то, что вы ожидали "вар" быть? Вы также не задали вопрос – meagar

+0

Cant u use jQuery ???? –

+0

@meagar, он спросил Вопрос, смотри выше –

ответ

1

Попробуйте это. Вам нужно выполнить итерацию от индекса 1 до 60 и найти значения каждого окна ввода. Если значение действительно, найдите сумму и присвойте итогу. . JSFiddle

addNumbers = function(el){ 
    var total = 0; 
    for(var i = 1; i <= 60; i++) { 
     var val = parseInt(document.getElementById("name" + i).value); 
     if(val>0){ 
      total += val; 
     }   
    } 
    document.getElementById('total').value = total; 
} 
+0

Это решение работало лучше всего для меня. Благодарю. – DollarChills

0
var total = 0; 
    for(var i = 0; i < 60; i++) { 
     total += parseInt(document.getElementById("name" + i).value); 
    } 

    document.getElementById('total').value = total; 

Попробуйте это. Ваш текущий код близок, но вы используете массив, который усложняет ситуацию. Также вы назначаете var недействительному элементу.

0

Лучший способ - добавить класс. затем получить элементы по имени класса. который даст вам массив входных элементов. то вы можете легко перебирать список, чтобы получить значение входного элемента и добавить его вместе. Лучше всего сделать так, чтобы у вас не было жесткого кода количество входов :)

0

Да .. это получилось .. вы должны передать значение из входного текстового поля на элементах дома, например .. onclick="return functionname(this.value)" и использовать отдых как есть в функции javascript, как ответил TGH.