【问题标题】:Is it possible to know if a star is on ? (JQuery Raty Plugin)是否有可能知道星星是否亮起? (jQuery Raty 插件)
【发布时间】: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) 始终为真。

标签: jquery rating raty


【解决方案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']});
        }
    }
});

感谢您的帮助。

【讨论】:

    猜你喜欢
    • 2015-11-07
    • 2023-03-02
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多