В качестве последующих мер по this question и на основе the answer дал, я сделал что-то вроде этого: http://jsfiddle.net/9r79f/1/Получить данные значения атрибута и установите значение соответствующего элемента
HTML:
<table>
<tr>
<td></td>
<td>Title</td>
<td>Title1</td>
<td>Title2</td>
</tr>
<tr>
<td>A</td>
<td><input type="text" /></td>
<td><input type="text" /></td>
<td><input type="text" /></td>
</tr>
<tr>
<td>A1</td>
<td><input type="text" class="sub" data-parent="A"/></td>
<td><input type="text" class="sub" data-parent="A" /></td>
<td><input type="text" class="sub" data-parent="A" /></td>
</tr>
<tr>
<td>A2</td>
<td><input type="text" class="sub" data-parent="A"/></td>
<td><input type="text" class="sub" data-parent="A"/></td>
<td><input type="text" class="sub" data-parent="A" /></td>
</tr>
<tr>
<td>B</td>
<td><input type="text" /></td>
<td><input type="text" /></td>
<td><input type="text" /></td>
</tr>
<tr>
<td>B1</td>
<td><input type="text" class="sub" data-parent="B"/></td>
<td><input type="text" class="sub" data-parent="B" /></td>
<td><input type="text" class="sub" data-parent="B" /></td>
</tr>
<tr>
<td>B2</td>
<td><input type="text" class="sub" data-parent="B"/></td>
<td><input type="text" class="sub" data-parent="B"/></td>
<td><input type="text" class="sub" data-parent="B" /></td>
</tr>
</table>
JQuery :
$('input[type=text]').on('blur', function() {
//alert($(this).val());
calcA($(this));
});
function calcA(param){
var finalresult = 0,
$sub = param,
$value = param.data('parent');
$.each($sub, function(i) {
var fiVal = parseFloat($sub.eq(i).val());
if (fiVal) {
finalresult += fiVal;
$value.val(finalresult);
}
});
}
Как установить значение первой строки в A1
+ A2
к первой строке O f вводится в A
с использованием data
атрибутов без повторения кода? И сделать то же самое для B
и так далее?
Я знаю, что это не отвечает на вопрос, но контекст '$ .each' - текущий элемент. Вместо использования '$ sub.eq (i) .val()', вы можете использовать 'this.value', чтобы избежать избыточного вызова jQuery. – Kyle
Спасибо, что указали это! – input
Нет проблем. Извините, я не могу ответить на ваш вопрос. Я не использовал атрибуты данных, чтобы помочь. – Kyle