Here's the latest JSFiddle.Изменение класса CSS на основе процентного значения
HTML:
<table id="math-table">
<tr>
<td><input type="text" id="A1" name="A" value=""></td>
<td><input type="text" id="B1" name="B" value=""></td>
<td><input type="text" id="C1" name="C" readonly="readonly" tabIndex="-1" value=""></td>
</tr>
</table>
JS:
$("#math-table input").live("keyup", function(){
var id = this.id.match(/\d+/);
$("#C"+id).val(Math.round (($("#A"+id).val()/$("#B"+id).val()) * 100) + "%" );
$('#A'+id).attr('value', $('#A'+id).val());
$('#B'+id).attr('value', $('#B'+id).val());
$('#C'+id).attr('value', $('#C'+id).val());
});
var uniqueIds = $("#math-table tr").length;
$("#math-table input[id^='B']").live("change", function(){
var $thisRow = $(this).closest("tr"),
$clone = $thisRow.clone(), // Clone row
$inputs = $clone.find("input").val("");// Reset values, return all inputs
uniqueIds++; //Increment ID
$inputs[0].id = "A" + uniqueIds;
$inputs[1].id = "B" + uniqueIds;
$inputs[2].id = "C" + uniqueIds;
$thisRow.after($clone);
});
Вы можете видеть, что A/B = C% Довольно просто. Как я могу добавить другой класс CSS только к C на основе определенного%?
Красный 1-33%
Зеленый 34-66%
Синий 67-100%
Кстати, вы действительно должны положить в ловушку для делящихся на нуль результатов. – Blazemonger
Не ставя код в вопрос, ясно, что вам все равно, приносит ли это кому-либо пользу. –
@LightnessRacesinOrbit Спасибо за предложение. Я добавлю это сейчас. – user1040259