它是一个最喜欢的统计数据,所以当我再次点击星号显示时,我想删除颜色:无
//js
function addRating(obj) {
$('li').each(function(index) {
$(this).addClass('selected');
$('#rating').val((index+1));
if(index == $("li").index(obj)) {
return false;
}
});
}
function resetRating() {
if($("#rating").val()) {
$('li').each(function(index) {
$(this).addClass('selected');
if((index+1) == $("#rating").val()) {
return false;
}
});
}
}
答案 0 :(得分:0)
我使用点击事件,因为它在jQuery中更为标准。我还添加了光标:将鼠标悬停在CSS上以使其看起来更好。另外,我把它改成了星级,因为它可以与多个星星一起正常工作
$(".star").on("click",function() {
obj=this;
$('#rating').val($("li").index(obj));
$('li').removeClass("selected").each(function(index) {
$(this).addClass('selected');
if(index == $("li").index(obj)) {
return false;
}
});
});

li{display: inline-block;color: #F0F0F0;text-shadow: 0 0 1px #666666;font-size:30px;cursor:pointer}
.highlight, .selected {color:#F4B30A;text-shadow: 0 0 1px #F48F0A;}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="detailsPage" data-role="page">
<div data-role="header">
<a href="index.html" data-rel="back" class="ui-btn-left ui-btn ui-btn-icon-notext ui-corner-all ui-icon-back"></a>
<h1 id="Name"></h1>
</div>
<div data-role="content">
<input type="hidden" name="rating" id="rating" />
<ul>
<li class="star">★</li>
<li class="star">★</li>
<li class="star">★</li>
</ul>
</div>
</div>
&#13;