0

私はjqueryの初心者です。オートコンプリート メソッド内でさまざまなイベントを読んで試してみましたが、成功しませんでした。

とにかく、私は以下のようなオートコンプリート機能を持っています

$(document).ready(function () {
        $("#SearchContactWorker")
        .each(function () {
            var urlloc = "/Worker/FindWorkers";

            $(this).autocomplete({
                 source: function (request, response) {
                    $.ajax({
                        url: urlloc, type: "POST", dataType: "json",
                        data: { searchString: request.term, maxResults: 10 },
                        success: function (data) {
                            response($.map(data, function (item) {
                                  return { label: item.name, value: item.name, id: item.id }
                            }))

                        }
                    })
                },
                select: function (event, ui) {
                    $("[id$='ContactID']").val(ui.item.id);
                }
            });
        });
    });

現在、アイテムが選択されているときに、ID を ContactID という非表示の入力に保存します。ユーザーが結果を返さないテキストを入力した場合、そのテキストを ContactFullName と呼ばれる別の非表示の入力タイプに対して保存します。これを行うにはどうすればよいですか? ?

前もって感謝します

4

1 に答える 1

0

changeイベントを探していると思います:

$(this).autocomplete({
     source: function (request, response) {
        $.ajax({
            url: urlloc, type: "POST", dataType: "json",
            data: { searchString: request.term, maxResults: 10 },
            success: function (data) {
                response($.map(data, function (item) {
                      return { label: item.name, value: item.name, id: item.id }
                }))

            }
        })
    },
    change: function (event, ui) {
        if (ui.item) {
            $("[id$='ContactID']").val(ui.item.id);
        } else {
            $("#ContactFullName").val(this.value);
        }
    }
});
  • ui.itemnullユーザーが項目を選択しなかった場合になります。
  • change フィールドがぼやけているときにイベントが発生することに注意してください。
于 2012-07-23T20:18:18.507 に答える