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

Posted

技术标签:

【中文标题】jRaty jQuery 插件似乎不适用于 AJAX/JSON【英文标题】:jRaty jQuery plugin doesn't seem to work with AJAX/JSON 【发布时间】:2013-10-30 00:00:59 【问题描述】:

我正在使用 jRaty 插件来显示“星级”评级 - 显示星级评级的代码相对简单(当我在页面中显示 html 代码时有效) - 问题是我正在使用 ajax 调用使用 JSON 重新填充页面 - 即使 span 的填充方式与下面的 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"
 );

更新..

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

当我检查元素时,jRaty 星级评分的“静态”迭代会在设置属性上显示 jQuery/jRaty 元素,而 jRaty 星级评分的后一个“动态”迭代不会。

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

【问题讨论】:

【参考方案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"
                 );

            

【讨论】:

以上是关于jRaty jQuery 插件似乎不适用于 AJAX/JSON的主要内容,如果未能解决你的问题,请参考以下文章

Jquery Validation 不适用于 wordpress 插件

jquery 比率插件不适用于 Rails

.remove() 似乎不适用于我的 jQuery 函数

选择的插件似乎不适用于移动浏览器[关闭]

自定义 jQuery 不适用于 Wordpress Ninja Forms 插件

ionic 3 的内页不适用于 ionic 3 中的脚本或外部自定义 jQuery 插件