Я использую плагин Jquery rateIt в моем проекте магистрали.JQuery rateIt плагин не работает
Я использую его примерную часть AJAX.
я мог видеть изображения не загружаются не вызова, проходящего через и нет ответа, и некоторое время получает ошибку как
«неперехваченного TypeError: Объект rateAnswer не имеет какую-либо методы" применить»
вот мой JS
define(['jquery', 'underscore', 'backbone', 'text!tpl/questionnaire.html', 'Collection/cAppCollection', 'Models/mAppModel', 'jqueryRateIt'],
function($, _, Backbone, questionnaireTpl, appCollection, appModel, jqRateIt) {
var questionnaire = Backbone.View.extend({
el : '.row',
template : _.template(questionnaireTpl),
initialize : function(e) {
$('.hero-unit').css('display','none');
this.render(e);
},
//this renders my template
//on success of response , loads response than call rateit() function than bind rated and reset to function rateAnswer
//but here no call fo rateAnswer
render : function(e) {
var elem = this.$el,
temp = this.template,
appCollectObj = new appCollection();
appCollectObj.fetch({
data: $.param({subject: e.id}),
success: function(model, response) {
$(elem).html(temp({model:response}));
$('div.rateit').rateit();
$('#products .rateit').bind('rated reset', 'rateAnswer');
},
error: function() {
console.log('Failed to fetch!');
}
});
},
rateAnswer : function(){
var ri = $(this),
appCollectObj = new appCollection();
var value = ri.rateit('value');
var questionId = ri.data('productid');
appCollectObj.fetch({
data: $.param({questionId : questionId, value : value}),
success: function(model, response) {
$('#response').append('<li>' + data + '</li>');
},
error: function() {
$('#response').append('<li style="color:red">' + msg + '</li>');
}
});
}
});
return questionnaire;
});
и HTML часть
<div id="products">
<ul>
<li>
RateIt: <div data-productid="<%= elem.id %>" class="rateit"></div>
</li>
</ul>
<ul id="response"></ul>
</div>
here the link to RateIt plugin example
Пробовал $ .proxy (this.rateAnswer, this), а также $ .proxy (this.rateAnswer, this) до сих пор нет вызова функции rateAnswer – mayank
$ ('# products .rateit'). Bind ('rated reset' , 'rateAnswer'); здесь передача строки вместо функции была моей плохой благодарностью за исправление. Теперь у меня нет ошибки, но нет вызова функции связывания. – mayank
. Ах, плохо, я делаю слишком много coffeescript (и его красивую жирную стрелку). Вы уже находитесь в обратном вызове, поэтому «это» уже «неправильно». Я отредактировал свой ответ. – Enders