当前位置: 首页 > 知识库问答 >
问题:

通过迭代JSON文件填充datalist选项

汪跃
2023-03-14

我试图创建一个搜索框,它基本上可以根据用户从json文件中的键值对输入自动完成。看起来使用datalist可能是最好的选择,但是当我执行下面的代码时,HTML中不会出现任何选项标记。

我对jquery和json还是相当陌生的,所以我对建议持开放态度。

{ "osCars": [
{   "id": 1,
    "name": "Cadillac",
    "type": "Sedan",
    "desc": "A fine American automobile"
},
{   "id": 2,
    "name": "BWM",
    "type": "Sedan",
    "desc": "A fine German automobile"
},
{   "id": 3,
    "name": "Lexus",
    "type": "Sedan",
    "desc": "A fine Japanese automobile"
}
]}
<input type="text" maxlength="30" list="carList" id="carSearchBox" name="carSearchBox" pattern="[A-Za-z '-]*$" placeholder="search cars" autofocus autocomplete="on">
<datalist id="carList"></datalist>
<script src="js/main.js"></script>
<script>window.onload=getCars;</script>
function getCars() {
    var url, carOption;
    url = 'js/cars.json';

    $.getJSON(url, function(data) {
    //populate the cars datalist
        $(data.osCars).each(function() {
            carsOption = "<option value=\"" + this.id + "\">" + this.name + "</option>";
            $('#carList').append(carsOption);
        });
    });
}

共有1个答案

微生青青
2023-03-14

事实证明,问题并不像我怀疑的那样出在我的javascript上,而是出在我的JSON文件上。我使用了另一个JSON文件的URL(我知道这个文件是有效的),一切都很好。我想使用的文件太长,无法用jsonLint进行验证,并且有一些很长的文本值。可能有一个错误的双引号标记在那里,我没有看到,那就是把它扔掉。

 类似资料:
  • 我正在使用PHP和SQL生成一个数组,该数组计算具有相同值的数据,以及这些值中有多少输出json_encode到: <代码>{“05”:4,“09”:4,“19”:4} Chart.js文件:(向下修剪) console.log输出 但是,如果我将罪行放入数据部分,它就不起作用了?

  • 我有我的json数据来自DB,但是列名可能因不同的项目而异,我需要使用angularjs在表中显示它,我如何使用ng-重复使用另一个ng-重复键迭代json数据。 例如 现在在渲染的时候,我不知道json数据中的键,但是我可以传递一组键,比如 现在,我想使用每个键,并在HTML上呈现,请帮助 我试过这样的方法,但没有用。

  • 问题内容: 我有一个JSON请求,该请求从youtube返回一个响应,其中包含对特定视频的评论。我目前有3种文本视图:一种用于名称/上载器,一种用于内容,一种用于发布日期- 然后用我的JSON响应中的数据填充。 我的问题是-仅出现第一个评论,发布日期和上传者。 我相信我将需要用列表视图替换我的textviews并将其解析为3个字段-我只是不知道如何。 爪哇 公共类Player扩展了YouTubeB

  • 我有一个典型的皮肤json文件,就像这里的示例一样: https://github . com/libgdx/libgdx/blob/master/tests/gdx-tests-Android/assets/data/ui skin . JSON 是否可以在皮肤文件中为文本按钮(文本到按钮边缘周围的空间)指定“内部”填充 - 或者我们只能在运行时以编程方式执行此操作? 谢谢

  • 我有一个JSON文件,其中包含世界各地的大学列表。我想只获得特定的大学,其中数组中的字段与我需要选择的内容相匹配。我面临的问题是,每所大学都有自己的身份证号,这使得我无法弄清楚如何迭代数组。JSON文件可以在这个GitHub回购中找到。 使我将JSON文件转换为数组的代码: 我得到的一个样本是: 什么是最好的或适当的方式打印出来只有大学与或例如? 我读了Foreach循环上的留档和例子。但还是得不

  • 我在填充Tableview时遇到问题。当我运行此代码时,我的tableview具有与观察列表相同数量的记录,但什么都不可见。 有什么想法吗?donť理解一些类似cellvalueProperty的东西。这对我的示例有用吗?谢谢