this
jsでの使用に問題があります。次のように使用する関数がありますthis
。
var refreshRequesterStar = function() {
$(".rating").raty({
score: function() { return $(this).attr('data-rating'); },
readOnly: function() { return $(this).attr('data-readonly'); },
halfShow: true
});
};
レーティング div は次のとおりです。
<div class="rating" data-readonly="false" data-rating="3.0" style="cursor: default; width: 100px;" title="not rated yet">
<div class="rating" data-readonly="false" data-rating="0.0" style="cursor: default; width: 100px;" title="not rated yet">
これは、次の関数によって呼び出されます。
$("body").ajaxComplete(function(){
refreshRequesterStar();
$(".time_to_expire").each(function(){
setCountDown(this);
})
$('select').chosen();
});
スコア値は設定できましたが、readOnly 値を設定できません。firebug を使用してデバッグしたところ、最初の this は div を指していましたが、2 番目の this は window を指していました。どこが間違っていたのですか?注: JavaScript についてはよくわかりません。
詳細: 私はレーティhttp://www.wbotelhos.com/ratyをレールで使用していました。