我正在使用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?
答案 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"
} );
}