我有一个从数据库填充的表。我有2个条件需要申请
`
<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>并且无效。
<td class>
http://jsfiddle.net/MMEhc/158/
编辑:更新版本以适应手动更改的值,而不仅仅是输出的值(据我了解,问题是)
http://jsfiddle.net/MMEhc/159/
您会看到我将背景色移出了HTML并移到了CSS中,使其更易于操作。我还调整了偶数或奇数行的红色。