私は項目のリストを持っており、それぞれにチェックボックスがあります。ユーザはいくつかの項目を選択した後、質問を入力してPOSTを行う「検索」ボタンを押すことによって他の項目を検索することができる。 私は以前に選択したアイテムを失いたくはありません。だから私の見解では、私はcheckbxesの値に格納されているチェック項目IDを取得し、それらをテンプレートに再送信します。 問題は、ng-repeatを使用していて、angularJSでいくつかのフィルタリング作業を行っているため、{%for%}がアイテムのリストを作成していないため、現在のアイテムのIDがチェックされているかどうかを知ることができませんPOST後にテンプレートに渡されるIDリスト。ng-repeat内でdjangoテンプレート変数を取得
ビューコード:
if 'btn_search' in request.POST:
checked_ids = get_integers_from_checked_checkboxes(request, 'checkbox_parent')
search_query = request.POST['txtbox_search']
sub_queries = search_query.split(' ')
for sub_query in sub_queries:
items= all_items.filter(items__name__contains=sub_query)
return render_to_response('my_page.html',
{'items': items,
'checked_items' : checked_ids},
context_instance=RequestContext(request))
単純化されたテンプレートコード:
<!-- Search -->
<input type="text" name="txtbox_search">
<button name="btn_search"><b>Search</b></button>
<!-- Items' list -->
<input type="text" ng-model="filter_Search_box" placeholder="Filter search">
<ul class="list">
<li ng-repeat="item in items | filter:filter_Search_box">
<!-- This check box should be checked if the item.id is in {{checked_items}} -->
<input type="checkbox" value="{/item.id/}" name="checkbox_item"/>
<b>{/item.name/} </b>
</li>
ありがとうございます。 私はそれを試して、それは働いた。 あなたが私に推薦したリンクを読んでいます:D –