В приведенном ниже коде я вызываю функцию loadAuthorsList, которая затем должна передать свою информацию функции loadTemplate. Но мне сообщают firebug, что «this.loadTemplate» не является функцией. Почему и как я могу это исправить?Объект jquery, вызывающий функцию внутри себя
var LI = {
sFI: x,
loadAuthorsList: function() {
myApp.showPleaseWait();
//for later
$('#records_table').find('tr:gt(0)').remove();
jQuery.ajax({
url: this.sFI.getServiceRoot('A'),
type: 'POST',
dataType: 'json',
data: {},
beforeSend: this.sFI.setModuleHeaders,
success: function (data) {
this.loadTemplate('AuthorTemplate', '#author_records', data)
},
complete: function() {
}
});
},
loadTemplate: function (templateName, selectorName, inputData) {
var jsPath = this.serviceFrameInstructors.getServiceRoot('LearnoogleInstructors');
jQuery.ajax({
url: jsPath.slice(0, -4) + 'js/templates/' + templateName + '.html',// + intArea,
cache: false,
success: function (value) {
var personTemplate = $.templates(value);
var html = personTemplate.render(inputData);
$(selectorName).html(html);
}
});
}
};
Вы не находитесь в контексте объекта. Вместо этого вы можете использовать 'LI.loadTemplate'. –