2013-03-17 2 views
3

У меня есть случай что-то вроде этого:Выполнение арифметического подсчета В Selectboxs Использование Javascript

enter image description here

Как я могу сделать, если выбрать пример А = 3 и В = 5, обновит 8 в колонке C автоматически, и так далее для разных столбцов и строк?

Помощь будет очень признательна. Благодарим вас за продвинутый!

ответ

3

Попробуйте это:

  1. Вызовите выберите коробки, как "a1", "a2", "В1", "b2"

  2. Вызов клеток в C, как "c1", " c2"

  3. Сделать onchange событием полей выбора будет так:

    function update() { 
        var id = this.id.substring(1); 
        var value1 = parseInt(document.getElementById("a" + id).value); 
        var value2 = parseInt(document.getElementById("b" + id).value); 
        document.getElementById("c" + id).innerHTML = value1 + value2; 
    } 
    
+0

Ok большое спасибо Pietu, позвольте мне попробовать какое-то время, я дам обратную связь –

+0

Отлично! Это работает .. Большое спасибо Pietu ... –

2

Хорошая задача. Это моя версия о том, как я хотел бы попытаться решить:

var table = document.getElementById('calc'), 
    sel = table.getElementsByTagName('select'); 

for (var i = sel.length; i--;) { 
    sel[i].onchange = function() { 
     var row = this.parentNode.parentNode.rowIndex, 
      cell = this.parentNode.cellIndex, 
      val1 = +this.options[this.selectedIndex].value, 
      val2 = +table.rows[row].cells[1 - cell].children[0].value; 

     table.rows[row].cells[2].innerHTML = val1 + val2; 
    }; 
} 

http://jsfiddle.net/M4jCJ/1/

Это базовая реализация, возможно, потребуется настроить что-то, чтобы соответствовать вашей структуры HTML и т.д.

+0

Wow ....! Хорошая работа ... Большое спасибо dfsq, даст вам 1 голос ... –

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