jRaty jQuery插件似乎不适用于AJAX / JSON

时间:2013-10-21 13:09:30

标签: json jquery jquery-plugins

我正在使用jRaty插件显示“星级”评级 - 显示星级的代码相对简单(当我在页面中显示html代码时有效) - 问题是我正在使用ajax调用使用JSON重新填充页面 - 即使跨度填充方式与下面的html代码相同,也不会使用插件显示星级评分图像。

我相信这可能与事件委托有关(虽然我不是jQuery专家)任何人都可以解释为什么我的jRaty插件在通过ajax / json方法时不起作用 - 任何人都有任何想法?

 // html code
 <span class="stars" data-score="4"></span>

    /* star rating */
$( ".stars" ).raty( {
    half: true,
    hints: [ "1 Star", "2 Star", "3 Star", "4 Star", "5 Star" ],
    path: "/assets/js/jquery-plugins/jquery-raty/2.5.2/img",
    readOnly: true,
    score: function( ){
        return $(this).attr( "data-score" );
    },
    size: 24,
    starHalf: "star-half-big.png",
starOff: "star-off-big.png",
starOn: "star-on-big.png"
} );

UPDATE ..

我已经在我的网页上的两个地方加载了jRaty,一个是'静态'而另一个是动态的(仅在jQuery AJAX调用之后显示。

jRaty星级评级的'静态'迭代在我检查元素时显示设置属性上的jQuery / jRaty元素,而jRaty星级的后者'动态'迭代不显示。

看起来这不仅仅是我有这个问题.. doh How to apply raty plugin to new generated divs?

1 个答案:

答案 0 :(得分:1)

以防这可能有助于其他人..

我在AJAX成功中添加了以下内容

success: function(data){            
                $( ".stars" ).raty( {
                    half: true,
                    hints: [ "1 Star", "2 Star", "3 Star", "4 Star", "5 Star" ],
                    path: "/assets/js/jquery-plugins/jquery-raty/2.5.2/img",
                    readOnly: true,
                    score: function( ){
                        return $(this).attr( "data-score" );
                    },
                    size: 24,
                    starHalf: "star-half-big.png",
                starOff: "star-off-big.png",
                starOn: "star-on-big.png"
                } );

            }