javascript - JQuery 设置总数的奇数、偶数

标签 javascript jquery colors html-table jquery-selectors

我有一个表,对列和行进行求和,并显示求和的结果。 我必须改变每个总数的颜色。如果是偶数,则将其设置为“绿色”。如果是奇数,则将其设置为“红色”

这是我的 table :

<table id="sum_table">
    <tr>
        <td><input value="0" class="sum1" /></td>
        <td><input value="0" class="sum2"/></td>
        <td><input value="0" class="sum3"/></td>
        <td class="total">0</td>
    </tr>
    <tr>
        <td><input value="0" class="sum1"/></td>
        <td><input value="0" class="sum2"/></td>
        <td><input value="0" class="sum3"/></td>
        <td class="total">0</td>
    </tr>
    <tr>
        <td><input value="0" class="sum1"/></td>
        <td><input value="0" class="sum2"/></td>
        <td><input value="0" class="sum3"/></td>
        <td class="total">0</td>
    </tr>

    <tr class ="totalCol">
        <td>0</td>
        <td>0</td>
        <td>0</td>
    </tr>

</table>
<button id="tabla">+</button>

JQuery:

//Sumamos las columnas
    $(document).on('keyup change','#sum_table tr:not(.totalCol) input:text',function() {
    var $table = $(this).closest('table');
    var total = 0;
    var thisNumber = $(this).attr('class').match(/(\d+)/)[1];

    $table.find('tr:not(.totalCol) .sum'+thisNumber).each(function() {
        total += parseInt(this.value);
    });

    $table.find('.totalCol td:nth-child('+thisNumber+')').html(total);
});


    //Añadimos filas y coumnas cuando se clica al boton "+".
    $("#tabla").click(function () {
        $("#sum_table tr:last-child").before("<tr>"+$("#sum_table tr:eq(0)").html()+"</tr>");
      $("tr:not(:last-child)").each(function () {
          var classname = $(this).find("td:last-child").index() + 1;
          $(this).find("td:last-child").before('<td><input class="sum' + classname + '" type="text" value="0"></td>');
      });
        $("#sum_table tr:last-child").append("<td>0</td>");
    });

//Creamos la funcion newSum para hacer la suma y mostrarlo en el total.
$(document).on('keyup','input',newSum);
function newSum() {
    var sum = 0;
    var thisRow = $(this).closest('tr');
    var total = 0;

    $(thisRow).find("td:not(.total) input").each(function () {
        sum += parseInt(this.value);
    });
    $(thisRow).find(".total").html(sum);
    $('.total').each(function () {
        total += parseInt($(this).html());
    });
}

DEMO JSFIDDLE

最佳答案

尝试一下,将此代码放在 newSum() 函数中

 if ((this.value % 2 == 0)) {
     $(this).css('color', 'green');
 } else {
     $(this).css('color', 'red');
 }

DEMO

关于javascript - JQuery 设置总数的奇数、偶数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23239886/

相关文章:

javascript - Node.js 如何响应升级请求?

javascript - 在 javascript 中循环数组 - 按顺序

javascript - 如何找出YouTube上关注者的确切人数?

javascript - 来自字符串的 Jquery JSON 数组

javascript - 返回值的编码

Javascript/jQuery - 将值添加到整数会更改其他变量

javascript - jquery datepicker 和 jquery mask 不工作

javascript - 查找哪两种颜色混合形成第三种颜色的算法(在 JavaScript 中)

typescript - 更改 Naive-UI 和 typescript 中的原色

python - 根据像素颜色的变化找到坐标