我正在使用jQuery评级plugin而我在将成功消息显示到相应的div时遇到问题,因为$(this)不引用选择器而是返回Object对象。
这是我的代码:
$(".basic").jRating({
bigStarsPath: 'assets/stars.png',
rateMax: 5,
length : 5,
phpPath : '<%= Rails.application.class.routes.url_helpers.ratings_path %>',
onSuccess : function(){
$(this).find(".message").append('<small>Thanks for your vote!</small>');
}
});
所以问题是$(this)没有引用$(“。basic”),我想知道如何在插件中访问选择器。 我很确定这可能是一个新问题,但我的javascript技能根本不是很广泛。 提前谢谢。
答案 0 :(得分:0)
onSuccess
的第一个参数是element
。使用它。
onSuccess : function(element){
$(element).find(".message").append('<small>Thanks for your vote!</small>');
}
由插件将this
设置为某个内容,在这种情况下,插件会触发onSuccess
函数并将this
作为您已通过的options
对象到jRating
而不是元素。
答案 1 :(得分:0)
onSuccess : function(element, rate){
$(element).find(".message").append('<small>Thanks for your vote!</small>');
}
您可以在“成功”选项中访问元素和/或费率。
答案 2 :(得分:0)
var elem = $(this);
$(".basic").jRating({
bigStarsPath: 'assets/stars.png',
rateMax: 5,
length : 5,
phpPath : '<%= Rails.application.class.routes.url_helpers.ratings_path %>',
onSuccess : function(){
elem.find(".message").append('<small>Thanks for your vote!</small>');
}
});
答案 3 :(得分:0)
关于jRating源代码code line,将传递给onSuccess和onError处理程序的参数是元素和评级,因此解决方案将是:
$(".basic").jRating({
bigStarsPath: 'assets/stars.png',
rateMax: 5,
length : 5,
phpPath : '<%= Rails.application.class.routes.url_helpers.ratings_path %>',
onSuccess : function(element /*, rating */){
$(element).find(".message").append('<small>Thanks for your vote!</small>');
}
});