Gan*_*esh 1 ajax wordpress jquery backbone.js backbone-views
我正在自定义 wordpress 主题,为什么在尝试在搜索框的输入字段中键入时出现此错误,我的 html 代码是
<div class="mysearchdiv">
<input type="" name="" class="mysearch">
<ul class="skills-list" id="skills_list"></ul>
</div>
Run Code Online (Sandbox Code Playgroud)
和backbone.js 代码是
jQuery(document).ready(function(){
var mymodel= Backbone.Model.extend({
defaults:function(){
return{
name:''
}
}
});
var mycollection=Backbone.Collection.extend({
model:mymodel
});
var mynewcollection= new mycollection();
var myview=Backbone.View.extend({
model:mynewcollection,
el:'.mysearchdiv',
events:{
'keypress .mysearch':'search'
},
initialize:function(){
console.log("init");
var view=this;
this.skill_list=this.$('ul.skill-list');
view.skills={};
this.$el.find('input.mysearch').typeahead({
minLength:0,
items:10,
source: function(query, process) {
console.log("Skill_Control typeahead source");
console.log(query);
console.log(process);
console.log(ae_globals.ajaxURL);
if (view.skills.length > 0) return view.skills;
//getting error at this point
//where ae_globals.ajaxURL is ajax url in wp
return $.getJSON(ae_globals.ajaxURL, {
action: 'fre_get_user_skills',
query: query
}, function(data) {
view.skills = data;
return process(data);
}
);
},
updater:function(item){
console.log("updater");
}
});
},
search:function(){
console.log("search");
}
});
new myview;
console.log("starting");
});
Run Code Online (Sandbox Code Playgroud)
相同类型的代码在其他主题中对我有用,但现在我完全停留在这一点上。任何帮助将不胜感激。提前致谢。
这是 WordPress 环境的常见问题。将$
在全球范围内是没有的。要么做:
jQuery(document).ready(function ($) {
Run Code Online (Sandbox Code Playgroud)
或使用:
jQuery.getJSON(...
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5699 次 |
最近记录: |