Я показываю mySQL в таблице html.
Я хотел бы изменить цвет фона TD от $ qty до красного IF $qty >= $max or $qty =< $min
.
Есть ли простой способ сделать это с помощью jQuery или PHP?
Я упростил таблицу и PHP для моего примера:
<table id="tablesorter-demo"> <tr><td>'.$min.'</td><td>'.$max.'</td><td>'.$qty.'</td></tr> </table>
var min = $('table tr td:eq(0)').text(); var max = $('table tr td:eq(1)').text(); var qty = $('table tr td:eq(2)').text(); if (qty >= max || qty <= min ) { $('table tr td:eq(2)').css('background-color', 'red'); }
<?php $class = (($qty >= $max) || ($qty <= min)) ? ' class="red"' : ''; ?> <tr><td>....</td><td<?php echo $class ?>><?php echo $qty ?></td></tr>
Я знаю, что у вас есть ваш ответ, но лучше было бы написать собственный виджет табличного указателя, который выделяет ячейки таблицы с плохим количеством. Вот демонстрация и код:
$.tablesorter.addWidget({ id : "qty", format: function(table){ var i, $td, cur, c = table.config, cols = c.widgetQty, $tr = $(table).children('tbody').children('tr'), rows = $tr.length; for (i = 0; i < rows; i++){ $td = $tr.eq(i).find('td'); cur = parseInt( $td.eq(cols[2]).text(), 10); // current if (cur <= parseInt( $td.eq(cols[0]).text(), 10) || // min cur >= parseInt( $td.eq(cols[1]).text(), 10) ){ // max $td.eq(cols[2]).addClass('badqty'); } } } }); $('table').tablesorter({ widgets : [ 'zebra', 'qty' ], widgetQty : [ 0, 1, 2 ] // min, max, current qty column indexes });