Javascript 易于自动完成,引用深度嵌套的值

Javascript 易于自动完成,引用深度嵌套的值,javascript,jquery,json,autocomplete,Javascript,Jquery,Json,Autocomplete,我正在使用一个名为“”的自动完成程序 这个程序运行得很好,但是我对如何引用深度嵌套的节点集感到困惑。运行显示的javascript使用一个标记为“listlocation”的属性,该属性提取嵌套在JSON提要根之外的值 然而,当尝试从“player”数据集中提取数据(例如ID)时,我没有成功(开发人员工具告诉我我没有接收数据)。我试过“player”、“playerstatsentry.player”、“cumulativeplayerstats.playerstatsentry”和其他版本的

我正在使用一个名为“”的自动完成程序

这个程序运行得很好,但是我对如何引用深度嵌套的节点集感到困惑。运行显示的javascript使用一个标记为“listlocation”的属性,该属性提取嵌套在JSON提要根之外的值

然而,当尝试从“player”数据集中提取数据(例如ID)时,我没有成功(开发人员工具告诉我我没有接收数据)。我试过“player”、“playerstatsentry.player”、“cumulativeplayerstats.playerstatsentry”和其他版本的

当我使用一个JSON提要,其中值位于根目录或上一层(根据)时,该特性工作得非常好

引用播放器数组以提取ID值的最佳方法是什么

JSON

JAVASCRIPT

var options = {
    url: "assets/data.json",
    listLocation: "cumulativeplayerstats.playerstatsentry.player",
    getValue: "LastName"
    list: {
        match: {
            enabled: true
        }
    }
};
$("#provider-json").easyAutocomplete(options);

该插件需要一个
对象
的集合和一个
属性
名称,该名称将用作自动完成帮助。您需要在逻辑上重新构造
data.json
文件:

案例1:
JSON
结构如下时

{
   "cumulativeplayerstats": {
      "lastUpdatedOn": "2018-02-13 1:59:59 PM",
      "playerstatsentry": [
         {
            "player": {
               "ID": "5106"
            },
            "LastName": "Test 1"
         },
         {
            "player": {
               "ID": "5107"
            },
            "LastName": "Test 2"
         },
         {
            "player": {
               "ID": "5108"
            },
            "LastName": "Test 3"
         }
      ]
   }
}
而不是将自动完成配置用作:

<input id="provider-json" />
<script>
var options = {
    url: "assets/data.json",
    listLocation: function(data) {
        return data.cumulativeplayerstats.playerstatsentry;
    },
    getValue: "LastName",
    list: {
        match: {
            enabled: true
        }
    }
};
$("#provider-json").easyAutocomplete(options);
将自动完成代码用作:

var options = {
    url: "assets/data.json",
    listLocation: function(data) {
        return data.cumulativeplayerstats.playerstatsentry;
    },
    getValue: function(item) {
        return item.player.LastName;
    },
    list: {
        match: {
            enabled: true
        }
    }
};
$("#provider-json").easyAutocomplete(options);

希望这有帮助

插件需要一组
对象
和一个
属性
名称,它们将用作自动完成帮助。您需要在逻辑上重新构造
data.json
文件:

案例1:
JSON
结构如下时

{
   "cumulativeplayerstats": {
      "lastUpdatedOn": "2018-02-13 1:59:59 PM",
      "playerstatsentry": [
         {
            "player": {
               "ID": "5106"
            },
            "LastName": "Test 1"
         },
         {
            "player": {
               "ID": "5107"
            },
            "LastName": "Test 2"
         },
         {
            "player": {
               "ID": "5108"
            },
            "LastName": "Test 3"
         }
      ]
   }
}
而不是将自动完成配置用作:

<input id="provider-json" />
<script>
var options = {
    url: "assets/data.json",
    listLocation: function(data) {
        return data.cumulativeplayerstats.playerstatsentry;
    },
    getValue: "LastName",
    list: {
        match: {
            enabled: true
        }
    }
};
$("#provider-json").easyAutocomplete(options);
将自动完成代码用作:

var options = {
    url: "assets/data.json",
    listLocation: function(data) {
        return data.cumulativeplayerstats.playerstatsentry;
    },
    getValue: function(item) {
        return item.player.LastName;
    },
    list: {
        match: {
            enabled: true
        }
    }
};
$("#provider-json").easyAutocomplete(options);

希望这有帮助

Javascript
中,您已经为
LastName
编写了代码,问题是关于
ID
的选择。总之,我为
LastName
selection编写了答案,您也可以为
ID
属性编写同样的答案。希望能有帮助!!如果答案有帮助,你可以投票接受。否则,如果有任何问题,请告诉我。在
Javascript
中,您已经为
LastName
编写了代码,问题是关于
ID
的选择。总之,我为
LastName
selection编写了答案,您也可以为
ID
属性编写同样的答案。希望能有帮助!!如果答案有帮助,你可以投票接受。否则,如果有任何问题,请告诉我。