3

MVC アプリケーション .net を開発しています。

「製品」というテキストボックスがあります。jqueryとajaxを使用して、サーバーからのリストをテキストボックスに自動入力する必要があります

コードは次のとおりです。

@Html.TextBoxFor(model=>model.Products,new {@id = "Products"})

このテキストボックスで、コントローラのアクションを ajax で呼び出してデータを取得する必要があります。

$('#Products).autocomplete()
{
    alert('kl');
    AutoCompleteDetails()
}

function AutoCompleteDetails()
{
    var url = '@Url.Action("Search", "Student")';
    href = url;

    $.ajax({
            url: href,
            dataType: "json",
            data: AutoDetails,
            type: "POST",
            context: this,
            success: function (data) {

}

ページの読み込み時に、コントロールが Student コントローラーの検索アクションにヒットしています。ここで 2 つの疑問があります。

  1. ページの読み込み時に、「検索」アクションを押した後、モデル値をページにバインドしていますが、これらの値は「製品」というテキストボックスの提案としてドロップダウンとして表示されません

  2. ページの読み込み後、「KL」と入力してタブアウトすると、「学生」コントローラーのアクション「検索」が呼び出されません。

助言がありますか?

4

3 に答える 3

1

次のサンプルを試してみてください。これが役立つと思います。

$("#Products").autocomplete({
    source:
    function (request, response) {
        $.ajax({
            url: href, // Search Url Goes Here
            dataType: "json",
            cache: false,
            data: {
                term: request.term
            },
            success: function (data) {
                response(data);
            }
        });
    },
    minLength: 1,
    select: function (event, ui) {
        if (ui.item) {
            $("#Products").val(ui.item.value);
        }
    }
});
于 2014-10-22T09:05:51.917 に答える
0

jQueryUI オートコンプリート プラグインを使用することをお勧めします。私は非常に長い間使用しており、シンプルで楽しいプラグインです。jQueryUI オートコンプリートの URL は 次のとおりです。

追加機能も確認してください。

于 2014-08-11T10:16:10.607 に答える