3

jQueryUIオートコンプリートにデータ値ではなくデータラベルを表示させる方法はありますか?

例えば

[{"label": "name"、 "value": "1"}、{"label": "name3"、 "value": "6"}、{"label": "name1"、 "value": "8"}、{"label": "name2"、 "value": "10"}]

$( ".auto-search" ).autocomplete({
    minLength: 2,
    dataType: 'json',
    source: tempJson,
    focus: function(event, ui){
        $('input[name="user-name"]').val(ui.item.label);
    },
    select: function (event,ui){
        $('input[name="user-name"]').val(ui.item.label);
        $('input[name="user-id"]').val(ui.item.value);
        return false;
    }
})

上記のコードは、下ボタンを押すと、ラベルではなく値を表示します。ラベルを表示するように変更できますか?

4

2 に答える 2

12

イベントハンドラからのイベントのデフォルトアクションを確認return falseまたは防止してください。focus

focus: function(event, ui){
    event.preventDefault();
    $('input[name="user-name"]').val(ui.item.label);
},
于 2013-03-24T16:17:55.807 に答える
0

コールバック関数が機能していません。だから私はバインドイベントautocompletefocusを使用し、うまく機能しました。

$('input[name="user-name"]').on("autocompletefocus", function (event, ui) {
   event.preventDefault();
   $(this).val(ui.item.label);
});
于 2020-02-05T00:37:02.660 に答える