2016-05-20 3 views
2

フォーカスにオートコンプリートオプションを表示したいと思います。入力の値が空の場合、すべてのオプションを表示したいと思います。私が望む動作は次のような効果です:Django-selectable - フォーカスにオートコンプリートオプションを表示する

<!DOCTYPE html> 
<html> 
    <head> 
     <meta charset=utf-8/> 
     <link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/smoothness/jquery-ui.css"> 
     <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/2.2.3/jquery.min.js"></script> 
     <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script> 
    </head> 
    <body> 
     <input id="text" type="text"></input> 
     <script> 
      $(
       function() { 
        $('#text').autocomplete(
         { source: ['abc', 'bcd', 'cde'], minLength: 0 } 
        ).focus(function() { $(this).autocomplete('search'); }); 
       } 
      ); 
     </script> 
    </body> 
</html> 

Djangoで選択可能な方法は?

答えて

0

あなたはオートコンプリートのドキュメントを読むチャンスがありましたか?

特に約sourceオプション?

最後にサービスを作成する必要があります。このサービスはJSON形式のデータを返します。文字列のリスト(["Choice1"、 "Choice2"])、 "label"のレコードのリスト、 "値"キー([ラベル: "Choice1"、値: "値1"}、...])、または他のデータ - この場合、データ解析関数を追加で書き込む必要があります。

検索機能では、サービスで「用語」クエリパラメータ(例:http://example.com?term=foo)を使用する必要があります。 (応答における適切なコンテンツ/タイプ・ヘッダを持つ)、GET要求に応答するデータベースを照会し、JSONとしてフォーマットされたデータを返すするビューを(クラスがベースか)を作成ジャンゴでこれを書き込む

class MyDict(models.Model): 
    name = models.CharField(max_length=100, db_index=True) 

    class Meta: 
     ordering = ['name'] 

def search_view(request): 
    term = request.get('term') 
    search = {} 
    if term: 
     search['name__icontain'] = term 
    # we are limiting answers to not dump whole db over the ajax 
    # user has a possibility to narrow search 
    result = [{'label': o.name, 'value': o.name} for o in MyDict.objects.filter(**search)[:50]] 
    return HttpResponse(json.dumps(result), mimetype='application/json') 
+0

これは質問に対する答えではありません。問題は、入力後にオートコンプリートオプションを表示してフォーカスを合わせる方法です。ユーザーが入力しなくても基本オプションを得ることができます。 – d33tah

+0

彼はすでにjavascriptコードを実行していますが、欠落していたものは - データバックエンド.. – Jerzyk

関連する問題