我在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,也許隱藏的輸入字段?
或者,您可以使用插件... http://www.fyneworks.com/jquery/star-rating/ –