我正在为我的申请试验一种不同类型的审查系统。我有 5 个值从 1 到 5 的单选按钮,每个值都代表一种颜色。
如果用户要评论电影“蝙蝠侠:黑暗骑士”,它看起来像这样:
当用户单击一个值时,它会更改背景颜色。我正在使用 jQuery 来控制它。
问题是:用户应该只能选择一个值,并且只有那个值应该改变背景颜色,现在你改变点击任何值,它就会改变它的背景颜色。
我怎么能在 jQuery 中做到这一点,欢迎任何提示或想法!
这是 jsfiddle 中的一个示例:http: //jsfiddle.net/puWJZ/
HTML:
<label class="input-check ch1">
<input id="#rb1" type="radio" value="1" name="reviewbutton" /> Bad
</label>
<label class="input-check ch2">
<input id="#rb2" type="radio" value="2" name="reviewbutton" /> Acceptable
</label>
<label class="input-check ch3">
<input id="#rb3" type="radio" value="3" name="reviewbutton" /> Good
</label>
<label class="input-check ch4">
<input id="#rb4" type="radio" value="4" name="reviewbutton" /> Very good
</label>
<label class="input-check ch5">
<input id="#rb5" type="radio" value="5" name="reviewbutton" /> Excellent
</label>
<div class="box">POP UP!</div>
CSS:
.input-check {
display: block;
height:20px;
padding:10px;
width:90px;
color:#EEEEEE;
font-weight: 600;
text-align: center;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
background-color: #333333;
margin:10px;
cursor: pointer;
}
input {
display:none;
}
.ch1:hover{background-color: #ba0012; cursor: pointer;}
.ch2:hover{background-color: #ba0099; cursor: pointer;}
.ch3:hover{background-color: #00ba88; cursor: pointer;}
.ch4:hover{background-color: #0bbdf0; cursor: pointer;}
.ch5:hover{background-color: #f0b10b; cursor: pointer;}
jQuery:
$(document).ready(function(){
$('.box').hide();
/* Bad */
$('.ch1').click(function(){
$(this).css({'background-color' : '#ba0012'});
$('.box').show();
});
/* Acceptable */
$('.ch2').click(function(){
$(this).css({'background-color' : '#ba0099'});
$('.box').show();
});
/* Good */
$('.ch3').click(function(){
$(this).css({'background-color' : '#00ba88'});
$('.box').show();
});
/* Very good */
$('.ch4').click(function(){
$(this).css({'background-color' : '#0bbdf0'});
$('.box').show();
});
/* Excellent */
$('.ch5').click(function(){
$(this).css({'background-color' : '#f0b10b'});
$('.box').show();
});
});