Jquery匹配JSON数组中的元素

时间:2013-10-01 14:35:58

标签: javascript jquery arrays json

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

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

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

到目前为止,我没有太多运气将用户输入与回调的名称部分相匹配。我可以使用干净的数组执行此操作,但不确定如何使用JSON数组执行此操作

1 个答案:

答案 0 :(得分:1)

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

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

Soruce jQuery Autocomplete Source 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 ) {

        }
    });