我有一个代码来计算表中动态加载的一些数量。如果数量小于零,我还添加了代码来更改a的类。但就我而言,一次改变颜色,即第一行不改变其余行。
$(document).ready(function() {
$("#itemtable").on("change", "input", function() {
var row = $(this).closest("tr");
var received = parseFloat(row.find("td:eq(5)").text()); // get received qty
var accepted = parseFloat($(row).find("td:eq(6) input[type='text']").val());
if (received < accepted){
alert("Accepted qty greater than received qty, Please check!");
} else {
var rejected = received - accepted;
row.find("td:eq(7) input[type='text']").val(isNaN(rejected) ? "" : rejected);
}
if (rejected > 0){
alert("change class");
$('#rejec').removeClass('tb1').addClass('tb2');
}
});
});
答案 0 :(得分:1)
第一行中的不在其余行中
查找拒绝文本$("#reject")
的选择器需要包含该行,即:
$("#rejec", row).removeClass('tb1').addClass('tb2');
或
row.find("#rejec").removeClass('tb1').addClass('tb2');
一般情况下,ID应该是唯一的 - 如果#rejec
位于每一行,则只会更改第一行(就像您找到的那样)。理想情况下,使用类并过滤事件的行。
答案 1 :(得分:0)
如上所述,更改了这段代码以获得所需的结果
if (rejected > 0){
row.find("td:eq(7) input[type='text']").removeClass('tb1').addClass('tb2');
}