Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何更新raty值_Javascript_Jquery_Raty - Fatal编程技术网

Javascript 如何更新raty值

Javascript 如何更新raty值,javascript,jquery,raty,Javascript,Jquery,Raty,我正在使用,我正在使用它发送评级数据,然后从数据库返回新评级,但我不知道如何更新返回的评级,我的代码: $('.starrating').raty({ number:10, score: function() { return $(this).attr('data-rating'); }, click: function(score, evt) {

我正在使用,我正在使用它发送评级数据,然后从数据库返回新评级,但我不知道如何更新返回的评级,我的代码:

    $('.starrating').raty({
            number:10,
            score: function() {
                  return $(this).attr('data-rating');
                 },
            click: function(score, evt) {
                var contentid = $(this).attr('id');
                $.post('/main/rating.php',{score:score, contentid:contentid },
                        function(data){
                            //alert(data+' Score = '+score);
                            $(this).data('rating',2);
                });
            }
            });
我试了一下,但没有成功

$(this).data('rating',2);
谢谢你的帮助。

试试
$(this).raty({score:2})根据raty文件

另外,如果您还需要设置数据属性,可以尝试以下操作:
$(this).raty({score:2}).attr('data-rating',2)

p.p.S.Little
单击事件更新以正确处理多个元素

$('.starrating').raty({
    number:10,
    score: function() {
        return $(this).attr('data-rating');
    },
    click: function(score, evt) {
        var target = $(this),
            contentid = target.attr('id');

        $.post('/main/rating.php',{score:score, contentid:contentid },
            function(data){
                target
                    .raty({
                        score: data.score
                    })
                    .attr('data-rating', data.score);
            });
        }
    });

根据您对参数重置的评论,我在下面添加了一些想法

   //SET RATY DEFAULTS  
        $.fn.raty.defaults.path = 'img';
        $.fn.raty.defaults.cancel = true;
        //etc
在成功功能中,使用新数据重置评级。只有指定的选项将被覆盖

$(this).raty('set', { option: value });
例如,更新分数

$(this).raty('set', { score: 2 });
如果您在
中遇到问题,请尝试下面的代码(基于此答案)


注意:此代码均未经测试

在这方面遇到了一些麻烦,这对我来说很有效:

$('.rating').raty('score', score);

通过设置
$.fn.data
您只能设置链接到元素的jquery数据缓存。即使是真实的数据属性我也已经有了,我必须动态地更新评级值。谢谢你,它可以工作,但不是用$(这个),而是用元素名$('.starting'),我必须在callabck中重新添加.raty({params})中的所有参数,这不是非常有效的方法,但是因为没有其他方法可以找到,谢谢你将它解决。
$('.rating').raty('score', score);