0

初めての jQuery オートコンプリートの例を書こうとしています。オートコンプリートから複数の値を選択できるようにする必要があるため、ここで提供されている例を使用しました。

何をしても、「c」、「ch」などと入力したときにテキストボックスに「chicken」と「chickens」という値が表示されません。何が間違っていますか?

私のコントローラーにはこのアクションメソッドがあります

public JsonResult GetBirds()
{
    var result = new JsonResult
        {
            Data = new
                {
                    Birds = new List<string> {"chicken", "chickens"}
                },
            JsonRequestBehavior = JsonRequestBehavior.AllowGet
        };

    return result;
}

そして、私のフロントエンドコードはこれです:

<script>
    $(function () {
        function log(message) {
            $("<div/>").text(message).prependTo("#log");
            $("#log").scrollTop(0);
        }

        $("#birds").autocomplete({
            source: "/Results/GetBirds",
            minLength: 1,
            select: function (event, ui) {
                log(ui ?
                "Selected: " + ui :
                "Nothing selected, input was " + this.value);
            }
        });
    });
</script>



<div class="demo">

    <div class="ui-widget">
        <label for="birds">Birds: </label>
        <input id="birds" />
    </div>

    <div class="ui-widget" style="margin-top:2em; font-family:Arial">
        Result:
        <div id="log" style="height: 200px; width: 300px; overflow: auto;" class="ui-widget-content"></div>
    </div>

</div><!-- End demo -->
4

3 に答える 3

0

各オブジェクトの「値」と「ラベル」を使用して辞書リストを作成する必要があります。

http://api.jqueryui.com/autocomplete/

于 2014-07-10T17:26:20.753 に答える
0

Rest Clint または Firebug Firefox プラグインを使用して、コントローラーから何が返されているかを確認します。

これを試して:

return Json(new {"chicken", "chickens"},JsonRequestBehavior.AllowGet);

于 2012-08-30T16:38:13.383 に答える
0

ソースの形式が正しくありません。json の結果で「Birds」キーを忘れてください。ちょうど行く:

Data = new List<string> {"chicken", "chickens"}

また

Data = new Dictionary<string, string> {
    {"chiken", "value1"},
    {"chikens", "value2"},
};
于 2014-07-29T18:16:02.617 に答える