0

この質問は以前に他の人から尋ねられたもので、回答がありません。事実上、目標は、Django の Twitter スタイルのエンドレス ページネーションを使用して検索機能を実装することです。ユーザーがインターフェイス フィールドを変更すると、新しいユーザー入力を考慮してエンドレス テーブルが再初期化されます。

無限テーブルのコンテナとして機能する埋め込みテンプレート Bを含むメイン テンプレートであるテンプレート Aがあります。ユーザーが下にスクロールすると、テーブルは追加データをロードします。

<select id = 'parameter' class="form-control input-sm">
    <!-- my options -->
</select>
<table>
   <thead>...</thead>
   <tbody>
         {% include 'my_app/template_B.html' %}
   </body>
</table>

テンプレートBの構造は質問と関係ないようなので割愛させてください。

テンプレート A を初期化する Django ビュー:

def my_view(request,\
            parameter_id = None,
            template='order_scheduler/template_A.html',\
            extra_context=None):
if parameter_id is None:
   # do smth
else:
   # do smth
return render_to_response(template,
                          context,
                          context_instance=RequestContext(request)): 

質問: ユーザーがテンプレート A を更新せずにパラメーター コンボボックスの値を変更した場合、テンプレート B のエンドレス テーブルを再初期化するにはどうすればよいですか?

4

1 に答える 1

1

template_B.htmlPOST で渡されたパラメーターに従ってレンダリングするビューを作成してから、ページで次のように表示できます。

    $(function() {
        var parameter = $('#parameter');
        parameter.on('change', function() {
            $.post("/your/viev/url", {'parameter': parameter.val()}, function(response) {
                $('tbody').html(response);
            });
        });
    });
于 2016-07-26T14:19:59.760 に答える