是否有可能知道星星是否亮起? (jQuery Raty 插件)

Posted

技术标签:

【中文标题】是否有可能知道星星是否亮起? (jQuery Raty 插件)【英文标题】:Is it possible to know if a star is on ? (JQuery Raty Plugin) 【发布时间】:2019-09-25 00:10:33 【问题描述】:

首先,对不起,如果我犯了一些英语错误,我是法国人。我正在使用 raty jquery 插件来将某些内容放入我的收藏夹中,我有 1 颗星,可以单击它来在我的收藏夹中设置某些内容。正如我在标题中所说,我需要知道那颗星是否亮着。

我已经尝试使用分数值,但它返回鼠标下星的分数(始终为 1),而不是实际选择的分数(在我的情况下为未定义或 1)。

这是我的代码:

$('.fav-star').raty(
    mouseover: function(score,evt) 
        if(1) //is raty on ?
            $(this).raty('set',  hints: ['Retire from favorites']);
        
        else 
            $(this).raty('set',  hints: ['Add to favorites']);
        
    

我只需要知道放入 if() 的正确条件是什么。感谢您的帮助!

【问题讨论】:

如果你使用if( score==1)会发生什么,在这种情况下你使用if(1)这将永远是正确的 试试if( score )而不是if(1) 我不知道如何检查星星是否亮起,这就是为什么我放1,它是临时的。我试过 if(score==1) 但它总是正确的,因为我的星级是 1 并且分数检查是在点击事件之后。 @AlivetoDie if(score) 始终为真。 【参考方案1】:

我想我解决了这个问题。 我正在使用 laravel,所以我只需使用 $loop->iteration 为每个星添加一个 id,然后使用 $('#fav-star$loop->iteration > input').val( )。 现在看起来是这样的。

$('#fav-star$loop->iteration').raty(
   //some code
   mouseover: function(score,evt) 
        if($('#fav-star$loop->iteration > input').val() == 1)
            $('#fav-star$loop->iteration').raty('set',  hints: ['Retire from favorites']);
        
        else 
            $('#fav-star$loop->iteration').raty('set',  hints: ['Add to favorites']);
        
    
);

感谢您的帮助。

【讨论】:

以上是关于是否有可能知道星星是否亮起? (jQuery Raty 插件)的主要内容,如果未能解决你的问题,请参考以下文章

jquery判断单选按钮radio是否选中的方法

是否可以在 javascript/jquery 中停止执行?

是否可以使用 jQuery 混合多个选择器和过滤器?

是否可以将 HTML 元素中的 Django id 传递给 jQuery 函数?

如何使用jQuery检测按键盘输入?

腾讯云星星海SA2性能如何,是否值得选择?