我尝试使用复选框输入创建进度条,当我单击 25% 复选框时,进度条填充 25%....对于 50%、75% 和 100% 及其工作方式相同。但是当我取消选中时,它会将价值归零。我希望它保持为选中的值,如果选中 25% 并且我在检查后取消选中 50%,所以它应该移动到 25% 而不是 0。这是我的代码(抱歉把完整的文件放在这里,我试着放通过jsfiddle工作代码,但我不太清楚使用它):
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>jQuery UI Progressbar - Default functionality</title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css" />
<script>
var x=0;
/* Just display progress bar at 1st*/
$(function() {
$( "#progressbar" ).progressbar({
value: x
});
});
// For 25% increase
function update1(){
var c1 = $('input[name="c1"]:checked').length > 0;
if(c1){
x=25;
$( "#progressbar" ).progressbar({ value: x });
}
if(!c1){
$( "#progressbar" ).progressbar({ value: x=0 });
}
}
// For 50% increase
function update2(){
var c2 = $('input[name="c2"]:checked').length > 0;
if(c2){
x=50;
$( "#progressbar" ).progressbar({ value: x });
}
if(!c2){
$( "#progressbar" ).progressbar({ value: x=0 });
}
}// For 75% increase
function update3(){
var c3 = $('input[name="c3"]:checked').length > 0;
if(c2){
x=75;
$( "#progressbar" ).progressbar({ value: x });
}
if(!c3){
$( "#progressbar" ).progressbar({ value: x=0 });
}
}// For 100% increase
function update4(){
var c4 = $('input[name="c4"]:checked').length > 0;
if(c2){
x=100;
$( "#progressbar" ).progressbar({ value: x });
}
if(!c4){
$( "#progressbar" ).progressbar({ value: x=0 });
}
}
</script>
</head>
<body>
<div id="progressbar"></div>
25% <input type="checkbox" name="c1" id="c1" onChange="update1();" />
50% <input type="checkbox" name="c2" id="c2" onChange="update2();" />
75% <input type="checkbox" name="c3" id="c3" onChange="update3();" />
100% <input type="checkbox" name="c4" id="c4" onChange="update4();" />
</body>
</html>