在我的 django 应用程序中,我显示用户 facebook 好友列表。为了每 10 分钟刷新一次,我把这个列表放在另一个视图和 html 中,我使用了一个 get 请求来获取它并将它显示在我不想要的页面上。
这是我有朋友列表的 get_fb_friends.html 文件:(这是我与我创建的视图相关联的 html 文件。这是我在向用户显示的页面上获取我不想显示的列表的地方):
{% for friend in group %}
<li>{{ friend.name }} </li>
{% endfor %}
以及我如何在模板中导入它:(这是我不想为用户显示列表的页面)。
JS:
setInterval(function(){
$.get('/mysite/get_fb_friends/', function(data) {
$('.get_fb_friends').html(data);
});
}, 600000);
return jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase()) >= 0;
};
$(function() {
$('#searchbox').on('keyup', function() {
var w = $(this).val();
if (w) {
$('#friendlist li').hide();
$('#friendlist li:Contains('+w+')').show();
} else {
$('#friendlist li').show();
}
});
});
HTML:
<div class='get_fb_friends'> </div>
然后,我不想在此列表顶部包含搜索栏,以便用户能够搜索他想要的朋友。所以在我的 get_fb_friends.html 中,我添加了:
HTML:
<input id="searchbox" type="text" placeholder="Search" />
<ul id="friendlist">
{% for friend in group %}
<li>{{ friend.name }} </li>
{% endfor %}
如果我在页面 www.mysite/get_fb_friends 上使用此搜索栏,它会完美运行,但一旦通过 jquery get 请求(即在我不想为用户显示它的页面上)获得它就不再适用;我输入一个字母,所有的名字都消失了。
看起来当我通过 jquery get 函数获取 html 文件时,它没有在我的 jquery 函数中保留我需要的“li”。
对正在发生的事情有任何想法吗?
我希望我的问题很清楚,谢谢你的帮助。
编辑:
我的主页:
HTML:
<div class="friendlist" id="friendlist">
JS:
$.get('/mysite/get_fb_friends/', function(data) {
$('.friendlist').html($(data).find($('#friendlist').html()));
});
return jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase()) >= 0;
};
$(function() {
$('#searchbox').on('keyup', function() {
var w = $(this).val();
if (w) {
$('#friendlist li').hide();
$('#friendlist li:Contains('+w+')').show();
} else {
$('#friendlist li').show();
}
});
});
我的远程页面:
HTML:
<input id="searchbox" type="text" placeholder="Search" />
<ul id="friendlist" class="friendlist">
{% for friend in group %}
<li>{{ friend.name }}</li>
{% endfor %}