質問

jQuery AutocompleteとMVCを使用して、ドロップダウンリストに多数の列名を入力しています。

ユーザーがフォーム上のDropDownBoxの値を変更するたびに、オートコンプリートボックスに入力する新しい列のリスト(配列としてJSON結果にラップ)を返すようにコントローラーに要求します。

私の問題は、オートコンプリートは単語を区別せず、代わりにc、h、a、r、a、c、t、e、rの文字を使用することを要求することです。それは非常に迷惑です。コードは次のとおりです。

function PopulateColumnsList(list) { 
    $(".columnDropdown").setOptions({ data: list });
}

$(document).ready(function() {
    $(".columnDropdown").autocomplete("", {
        width: 320,
        max: 14,
        highlight: false,
        minChars: 0,
        scroll: true,
        scrollHeight: 300
    });

    $("#Data").change(function() {
        $.ajax({
            url: "/Home/ColumnNamesForDataSelect",
           type: "GET",
           data: { DataSelectID: parseInt($('#Data').val()) },
            success: PopulateColumnsList
       });
  });

});

Getはこのレスポンスを返します:

  

[" Memo"、" Balance"]

Butmy AutoCompleteは、これらをそれぞれ2つではなく1文字として表示します:メモ、バランス。例のコードが結果を返す同様の方法を示しているので、これは正しいと思いました。

アイデアはありますか?

事前に感謝します。

役に立ちましたか?

解決

あなたが望むものの例を示すことは可能ですか?私は100パーセントをフォローしていません。

私のオートコンプリートは、ユーザーがテキストボックスに入力を開始するだけで、入力されている文字を調べて、その結果を含む可能性のある単語を返します。

私がやっている方法はこれです:

// JavaScript file
$("#id").autocomplete("AutoFill", { delay: 1 });


// view
public ContentResult AutoFill(string q)
{
    var result = // go to database and grab all words that Start with whatever is in q.

    string sendBack = null;
    for (int i = 0; i < result.Count; i++)
    {
        sendBack += result[i] + Environment.NewLine;
    }
    return Content(sendBack);
}

それがあなたの役に立つかどうかはわかりません。

他のヒント

これはおかしな話かもしれませんし、答えとも言えませんが、応答の各添え字の項目を繰り返しているようですので、のような別の配列で応答をラップしてみましたか? [[&quot; Memo&quot;、&quot; Balance&quot;]]

まあ、あなたはonChange()イベントにバインドしています。これは文字ごとになります。私は似たような何かに出くわし、価値全体を望んでいました。 parse()関数をオーバーライドし、XMLパーサー/フォーマットを指定することでこれを処理し、result()関数をオーバーライドして、parse()関数で設定し直したrow []データを解析しました。

jQuery AutocompleterでPOSTを使用する方法

したがって、基本的には、選択からのデータと名前を含むrow []が常にあります(uはJSONも実行できます)。

また、新しいrow []配列を処理するには、formatItem()関数をオーバーライドする必要があります。

いくつかのjQueryオートコンプリートがあります。使用しているものに言及する場合に役立ちます。たとえば、 http://docs.jquery.com/Plugins/Autocompleteのようには見えません。 / setOptions は使用しているsetOptionsですか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top