2012-06-15 4 views
0

У меня есть HTML таблицу, какзначения HTML таблицы с использованием JavaScript

 Invoice#   Due Date  Balance  Select 
     12345   12/25/2011 $1,356.00  X 
     56789   12/30/2011 $1,000.00  X 

     Total:      $2,356.00 

Ниже в таблице У меня есть текстовое поле. Когда флажок в строке выбран или отменен, я хочу, чтобы значение текстового поля обновлялось для добавления или вычитания баланса в выбранной строке, т. Е. Вычесть баланс, указанный в строке, когда флажок снят, и добавить его при проверке , По умолчанию будут отмечены флажки.

Спасибо за помощь

+0

Можно ли использовать jQuery для достижения этого? – HackedByChinese

+0

Позвольте мне понять это прямо. Вы хотите сказать, нажав X, значение поля ввода будет обновлено с помощью ячейки баланса соответствующей строки? –

+0

@ HackedByChinese-yes .... jQuery приемлемо ..... Размер таблицы всегда будет меняться. это означает, что у меня больше нет строк – Nimmy

ответ

0

Предполагая, что JQuery:

$('table input[type="checkbox"]').click(function() { 
    var curBalance=new Number($("#textbox").val()); 
    var rowBalance=new Number($(this).parent().prev().text()); 

    var newNum=0; 
    if (this.checked) newBalance=curBalance+rowBalance; 
    else newBalance=curBalance-rowBalance; 

    $("#textbox").val(newBalance); 
}); 
+0

Если флажок установлен, то я хочу добавить, иначе я хочу вычесть и по умолчанию все флажки отмечены – Nimmy

+0

отредактированы для добавления или вычитания по мере необходимости –

+0

Спасибо большое :) – Nimmy

1

Предполагая, что каждый не имеет другого дочернего элемента как <p>, <a> & <button>, содержит только текст. Если нет, повторите первое заявление, пока не достигнете элемента <tr>.

function getBalance(e){ 
    e = e.parentElement; //get the parent of the <td>. 
    e = e.children[2]; //get the 3rd <td> of that <tr>. 
    //finally copy the textContent to the value attribute. 
    document.getElementById(inputboxId).setAttribute('value', e.textContent); 
    //e.innerText for older browsers. 
} 

Поместите обработчик события onclick на ячейки 4-го столбца.

<td onclick='getBalance(this)'>X</td> 
+0

приятный и чистый. – Sepehr

+0

это не добавляет или не вычитает значение в зависимости от того, установлен или нет флажок (и это флажок, а не «X») –

+0

oops, my bad ... –