实现评级和jquery中的简单问题

实现评级和jquery中的简单问题,jquery,html,css,jquery-selectors,Jquery,Html,Css,Jquery Selectors,我这里有一个非常简单的问题,但不知怎么的,我无法解决这个问题,因为我对jquery知之甚少 我使用这段代码来实现一个评级函数 一切正常,但我注意到,一旦有人点击任何一颗星,它就无法改变评级 这是代码 构建一系列星星 <p> <img src="Images/EmptyStar.png" alt="Star Rating" align="middle" id="1" /> <img src="Images/EmptyStar.png" alt="St

我这里有一个非常简单的问题,但不知怎么的,我无法解决这个问题,因为我对jquery知之甚少

我使用这段代码来实现一个评级函数

一切正常,但我注意到,一旦有人点击任何一颗星,它就无法改变评级

这是代码

构建一系列星星

<p>
    <img src="Images/EmptyStar.png" alt="Star Rating" align="middle" id="1" />
    <img src="Images/EmptyStar.png" alt="Star Rating" align="middle" id="2" />
    <img src="Images/EmptyStar.png" alt="Star Rating" align="middle" id="3" />
    <img src="Images/EmptyStar.png" alt="Star Rating" align="middle" id="4" />
    <img src="Images/EmptyStar.png" alt="Star Rating" align="middle" id="5" />
</p>
//-------

现在,一旦有人点击任何星星,点击事件就会开始行动,并按如下方式解除绑定:

$("img).click(function () {
    $(img).unbind("mouseout mouseover click");
});
我所看到的是,即使有人点击了任何一个开始,他应该能够再次改变它,或者选择较高或较低的评级

如果有人能指导我这件简单的事情,我会非常感激的

提前感谢您的时间和努力

首先删除此:

$(img).unbind("mouseout mouseover click");
此外,你还必须存储评级,并在搬出后恢复它

function giveRating(img, image) {            
    img.attr("src", "Images/" + image).prevAll("img").attr("src", "Images/" + image);
    img.parent().get(0).rating = img;
}

对不起,我很难完成这件事。也许其他人会

或者看看


有很多现成的解决方案。

第一步是在您对事件绑定进行一次评分后不要删除它。是的,我已经尝试过了,但在这种情况下,当鼠标移动时,星星不会被填满,当鼠标移动时,星星会被点燃。我已经尝试过了,但在这种情况下,当鼠标移动时,星星不会被填满,老鼠被解雇了
$(img).unbind("mouseout mouseover click");
function giveRating(img, image) {            
    img.attr("src", "Images/" + image).prevAll("img").attr("src", "Images/" + image);
    img.parent().get(0).rating = img;
}