私の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 リクエストによって取得されると (つまり、ユーザーに表示したくないページでは) 機能しなくなります。1文字入力すると、すべての名前が消えます。
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 %}