9

オートコンプリートを実装したテキストボックスがあります。はい、これ。

<input id="txtcity" />
$("#txtcity").autocomplete({
  source: function (request, response) {
    $.ajax({
      url: '@Url.Action("CityLookup", "PatientDemographic", "")', type: "POST", dataType: "json",
      data: { searchText: request.term, maxResults: 10 },
      success: function (data) {
        response($.map(data, function (item) {
          return { label: item.Text, value: item.Text, id: item.Value }
        }))
      }
    })
  },
  select: function (event, ui) {
    $("#CityCode").val(ui.item.id);
  },
  open: function () {
    $(this).removeClass("ui-corner-all").addClass("ui-corner-top");
  },
  close: function () {
    $(this).removeClass("ui-corner-top").addClass("ui-corner-all");
  }
});

これは、「Apple」、「Banana」、「Cabbage」の 3 つの結果を返します。レンダリング中にデフォルト値を「バナナ」に設定するにはどうすればよいですか? つまり、text="バナナ" value="2"?

4

5 に答える 5

17

オートコンプリートを初期化した後、次のように値を設定できます。

$( "#txtcity" ).autocomplete({
  // do whatever
}).val('Banana').data('autocomplete')._trigger('select');

更新された例: http://jsfiddle.net/55jhx/1/

于 2013-06-12T07:47:33.190 に答える
1

の最初の要素のクリックをトリガーして、ulオートコンプリートの選択を起動します。

$("ul.ui-autocomplete li").first().trigger("click");
于 2016-08-27T21:58:03.697 に答える