2012-05-26 2 views
2

У меня есть таблица с одним тегом span с некоторым значением и 6 входами, сгенерированными автоматически, где значение обновляется из базы данных, которое можно изменить.Вычисление выражений с использованием JQuery

<td><span id="Day${c.id}">/*generated automatically*/</span></td> 
<td><input class="inp${c.id}" name="b1-${c.id}" id="b1${c.id}" value="${c.exp?.b1}" type="text"/></td> 
<td><input class="inp${c.id}" name="b2-${c.id}" id="b2-${c.id}" value="${c.exp?.b2}" type="text"/></td> 
<td><input class="inp${c.id}" name="b3-${c.id}" id="b3-${c.id}" value="${c.exp?.b3}" type="text"/></td> 
<td><input class="inp${c.id}" name="b4-${c.id}" id="b4-${c.id}" value="${c.exp?.b4}" type="text"/></td> 
<td><input class="inp${c.id}" name="b5-${c.id}" id="b5-${c.id}" value="${c.exp?.b5}" type="text"/></td> 
<td><input class="inp${c.id}" name="b6-${c.id}" id="b6-${c.id}" value="${c.exp?.b6}" type="text"/></td> 
<td><span id="Total${c.id}">0</span></td> 

мне нужно реального времени наиболее вычислить OnKeyUp выражение как это:

total = span*(input1*(input2+input3)+input4+input5+input6)

+1

Лучше, если вы разместите представленную разметку здесь. – VisioN

ответ

0

попробовать следующее,

$('table').find('input').each(function() 
{ 
    // this.do_your_own_thing here.... 
    // read jquery doc to see all options 
}) 
0

[редактируется для очень конкретных требований OP]

$(document).ready(function(){ 
    $('input[id^="inp"]').keyup(function(){ 
     var total = 0; 
     var temp = 0; 
     $('input[id^="inp"]').each(function(i){ 
      if(i==0) 
       total = $(this).val(); 
      else if(i==1) 
       temp = $(this).val(); 
      else if(i==2) 
       total = total*(temp+$(this).val()); 
      else 
       total += $(this).val(); 
     }); 

     total *= $('span[id^="Day"]').val(); 
     $('span[id^="Total"]').val(total); 
    }); 
}); 
+0

Я думаю, что вам не хватает требований к умножению. –

+0

Мне нужно выражение следующим образом: total = span * (input1 * (input2 + input3) + input4 + input5 + input6) –

+0

всегда будет 6 входов? –

Смежные вопросы