根据百分比值更改 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%
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);
});
You can see that A/B = C% Pretty simple. How would I add a different CSS class to only C based on a certain %?
Red 1-33%
Green 34-66%
Blue 67-100%
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
使用 addClass 、removeClass 函数进行更改。就像下面这样:
只需获取变量中的 C 值并根据该值更改类即可通过应用 if/else 到 % 你想要的
Use
addClass , removeClass
functions to change. Like below:Just take the C value inside a variable and change class according to % you want by applying if/else
我更新了你的 jsFiddle:
http://jsfiddle.net/CzZxf/13/
我添加了一个变量 < code>percent 并基于此设置背景颜色,如下所示:
编辑:我更新了脚本以从克隆中删除该类。添加这个
I updated your jsFiddle:
http://jsfiddle.net/CzZxf/13/
I added a variable
percent
and set the background color based on that like this:EDIT: I updated the script to remove the class from the clone. Add this
它看起来像一个简单的 if - else if 或基于 C 值的 switch 语句。
只需将 C 值存储在变量中并进行测试即可。
只需使用addClass(http://api.jquery.com/addClass/)或removeClass(http://api.jquery.com/removeClass/)即可。
it looks like a simple if - else if or switch statement based on C value.
Just store the C value inside a variable and make your test.
Simply use addClass (http://api.jquery.com/addClass/) or removeClass (http://api.jquery.com/removeClass/).
以最明显的方式进行操作:
http://jsfiddle.net/mblase75/CzZxf/7/
Do it the most obvious way:
http://jsfiddle.net/mblase75/CzZxf/7/
看看这个: http://jsfiddle.net/CzZxf/5/
它并不完全使用类,但它应该足以让您自定义它以满足您的需求:
Check this out: http://jsfiddle.net/CzZxf/5/
It's not exactly using classes, but it should give you enough to customize it to fit your needs: