使用jQuery根据td值更改行颜色

我有一个从数据库填充的表。我有2个条件需要申请

  1. 在表上应用斑马条纹(已完成)
  2. 将行颜色更改为基于红色的td值

`

<tr class="alt">

<td class="status"><input type="text" value="One"></td>

<td class>Received</td>

</tr>

<tr class="alt">

<td class="status"><input type="text" value="One"></td>

<td class>Received</td>

</tr>

<tr class="alt">

<td class="status"><input type="text" value="Zero"></td>

<td class>Received</td>

</tr>

<tr class="alt">

<td class="status"><input type="text" value="One"></td>

<td class>Received</td>

</tr>

<tr class="alt">

<td class="status"><input type="text" value="Zero"></td>

<td class>Received</td>

</tr>

`

$(document).ready(function()

{

$("tr.alt:even").css("background-color", "#f0f8ff");

$("tr.alt:odd").css("background-color", "#fcfceb");

});

$(document).ready(function() {

$('.status.val():contains("Zero")').closest('tr.alt').css('background-color', '#cd0000');

});

我想根据输入值更改行颜色

<td class="status"><input type="text" value="One"></td>

这是到目前为止我所做的事情的一个小提琴

希望能有所帮助。

回答:

更改tr(您使用的是v 1.6.4而不是最新的,因此我们需要使用bind而不是on)

$(document).ready(function(){

$("tr.alt:even").addClass("even");

$("tr.alt:odd").addClass("odd");

$('td.status input').bind('change keyup', function(){

var tr=$(this).closest('tr');

if ($(this).val()=='Zero') tr.addClass('zero');

else tr.removeClass('zero');

}).trigger('change'); // the trigger is to run this action on load

});

tr.odd

{

background-color:#fcfceb;

}

tr.even

{

background-color:#f0f8ff;

}

tr.odd.zero

{

background-color:#ff0000;

}

tr.even.zero

{

background-color:#cc0000;

}

但是,您的HTML有点混乱。您缺少引号,<td class>并且无效。

http://jsfiddle.net/MMEhc/158/

编辑:更新版本以适应手动更改的值,而不仅仅是输出的值(据我了解,问题是)

http://jsfiddle.net/MMEhc/159/

您会看到我将背景色移出了HTML并移到了CSS中,使其更易于操作。我还调整了偶数或奇数行的红色。

以上是 使用jQuery根据td值更改行颜色 的全部内容, 来源链接: utcz.com/qa/431825.html

回到顶部