【发布时间】:2017-05-01 00:27:48
【问题描述】:
我正在开发一个非常重要的项目,用户可以通过复选框更改两个元素的“压力”值。
这些复选框有两个不同的值,一个用于bar-one,第二个用于bar-two。所有这些系统都有一个“状态面板”,显示是否一切正常,或者是否存在问题。
请注意,我不必使用回显或警报消息,因为我需要根据两个栏的当前状态显示不同的 div。
我在 sn-p 中尽了最大努力,我是 JavaScript 新手,所以请不要对我的错误刻薄。
var
even = $('.even'),
high = $('.high'),
low = $('.low');
$('input').on('click', function() {
var emptyValue = 0;
$('input:checked').each(function() {
emptyValue += parseInt($(this).val());
});
$('.bar-one').css('width', emptyValue + '%').attr('aria-valuenow', emptyValue);
});
if (average === 5) {
even.show();
} else {
even.hide();
}
if (average >= 7) {
high.show();
} else {
high.hide();
}
if (average <= 3) {
low.show();
} else {
low.hide();
}
.progress {
width: 100%;
height: 30px;
background-color: silver;
}
.bar-one {
background-color: blue;
}
.bar-two {
background-color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="progress">
<div class="bar-one" role="progressbar" aria-valuenow="50" aria-valuemin="0" aria-valuemax="100">
</div>
</div>
<br>
<div class="progress">
<div class="bar-two" role="progressbar" aria-valuenow="50" aria-valuemin="0" aria-valuemax="100">
</div>
</div>
<br>
<div id="panel">
<input type="checkbox" value1="20" value2="5">
<input type="checkbox" value1="5" value2="20">
<input type="checkbox" value1="10" value2="10">
<input type="checkbox" value1="10" value2="-20">
<input type="checkbox" value1="-20" value2="10">
</div>
<div class="even">
Pressure is ok
</div>
<div class="high">
Pressure is high
</div>
<div class="low">
pressure is low
</div>
非常感谢您的帮助!
【问题讨论】:
-
运行脚本时遇到什么问题?
-
请运行 sn-p,我看不到任何工作 =(
-
先把事件从点击改为选择
-
使用 $("input[type=checkbox]");将事件更改为选择而不是单击在选择函数中定义高低甚至变量并查看结果
标签: javascript jquery html css checkbox