1

我目前有一个 JSON 回调,其中包含一个 id 和一个名称,如下所示:

[{"id":"1","name":"Wired Motors"},
{"id":"2","name":"pragma innovations"},
{"id":"3","name":"University of Femme Fatales"}]

我正在使用 jQuery UI 自动完成,它需要匹配返回结果的名称部分并将其显示在建议下拉列表中,并且还能够将 id 拖入 html 数据元素中。

到目前为止,我在将用户输入与回调的名称部分匹配方面运气不佳。我可以用一个干净的数组做到这一点,但不知道如何用一个 JSON 数组做到这一点

4

1 回答 1

1

我相信 jQuery Autocomplete 使用标准化的Name => ValueJSON 数组格式:

[{ "label" : "1", "value" : "Wired Motors" },
 { "label" : "2", "value" : "pragma innovations"},
 { "label" : "3", "value" : "University of Femme Fatales"}]

来源jQuery 自动完成源 API

然后,您可以将它们添加到自动完成源/建议中:

$('#myautocomplete').autocomplete({
    minLength : 2,
    source : function( request, response ) {
       $.ajax({
           url: 'path-to-your-script.php',
           dataType: 'json',
           data: '?variablestodb=somedata',
               success: function( data ) {
               response( $.map( data, function( item ) {
                   return {
                      label: item.label,
                      value: item.value
                     }
                  }));
                }
            });
        },
        select: function( event, ui ) {

        }
    });
于 2013-10-01T14:40:12.460 回答