【发布时间】:2023-04-04 05:50:01
【问题描述】:
我正在做一个 PHP 项目,对 ajax、javascript 或 json 了解不多,但我知道如果指向正确的方向,我可以做到这一点。
我有一个表单 (POST) 供审核,在表单上我有一个 5 开始评级,到目前为止,我已经能够使用以下方法在悬停时更改开始颜色:
<div class=rating>
<div class="star_1 ratings_stars"></div>
<div class="star_2 ratings_stars"></div>
<div class="star_3 ratings_stars"></div>
<div class="star_4 ratings_stars"></div>
<div class="star_5 ratings_stars"></div>
</div>
在我拥有的 javascript 上:
$('.ratings_stars').hover(
// Handles the mouseover
function() {
$(this).prevAll().andSelf().addClass('ratings_over');
},
// Handles the mouseout
function() {
$(this).prevAll().andSelf().removeClass('ratings_over');
}
);
在我的 css 文件中
.ratings_stars
{
background: url('./images/star_blank.png') no-repeat; //images with blank star
}
.ratings_over
{
background: url('./images/star_overs.png') no-repeat; //colored star
}
我现在遇到的两个问题是:
能够在被点击的星星上保留 '.ratings_over' 类,以及它之前的那些,而不是它之后的那些。
给每个开始值,所以当第三个被点击时,我应该有一个值与表单一起提交(显然我不认为这是可能的)
总的来说,我想也许可以使用复选框进行评级,以便能够将值与表单一起提交,但我将如何在复选框上实现悬停效果?或者我会做然后检查这些框?
通过将 javascript 更改为:
$('.ratings_stars').hover(
// Handles the mouseover
function() {
$(this).prevAll().andSelf().addClass('ratings_over');
},
// Handles the mouseout
function() {
$(this).nextAll().removeClass('ratings_over');
}
);
现在保留了突出显示的开始,有没有办法检查有多少 hasClass 和 highted?然后将值传递给 php,也许是隐藏的输入字段?
【问题讨论】:
标签: javascript php jquery ajax json