我有一个使用自动填充搜索功能的phonegap应用程序,附加到输入字段。我正在使用把手模板,使其成为一个单页的html应用程序。
当用户使用类名" .search-key"键入输入字段时,我有一个在该模板的渲染上执行的函数:
lmap
然后激发此功能:
this.render = function() {
this.$el.html(this.template(pageNames));
$('.content', this.$el).html(exhibitorListView.$el);
this.$el.on('keyup', '.search-key', this.findByName);
return this;
};
然后使用我的服务类触发遍历SQL的findByName函数,以提取与用户输入内容相匹配的结果。
第一次这很好用。但是在用户点击结果后,它会为结果提取模板页面,然后他们点击html页面中的后退按钮:
this.findByName = function() {
var self = this;
var searchKey = $('.search-key').val();
var ts = Math.floor(Date.now() / 1000);
service.findByName(searchKey,ts).done(function(exhibitors) {
totalList = exhibitors;
showPage(1);
});
};
当搜索页面返回到视图时,最后输入到输入中的文本会卡在缓存中,即使它没有显示在屏幕上(我可以在控制台中看到这些值),并且当用户输入时,应用程序中未更新新文本。在每个键盘之后,该值只是重复停留在缓存中的结果,结果不会改变。