0

我很难用 JS/JQuery 搜索 JSON 文档。这是我的 JSON 文件 ,我的应用程序中有两个选择列表,一个选择顶级数组之一(150、300、600、900 等),另一个选择其中一个对象(直径)中的 a 值. 我想显示所有匹配项。我已经尝试了几件事,但我似乎可以选择要搜索的正确数组 - 我只能通过数字(0、1、2 等)而不是名称(150、300 等)来获取它们。

这是我当前的功能:

 $("#btnBeregn").click(function(){  
            //$("#loader").fadeIn(200);
            $("#resultsTable").html("");
            var currDiameter = $("#ddlDiameter option:selected").val();
            var currDim = $("#ddlRorklasse option:selected").val();

            $.getJSON("calctable.json", function(data) {

                $.each(data, function(i, v) {
                        $.each(v, function(x,y) {

                            if(y.bolts == "32"){
                                console.log('16 boolts');
                            }

                        });
                });


            });



    });
4

1 回答 1

0

$.each迭代数组,而不是对象,当解析 JSON 时,输出是一个对象。

遍历 JavaScript 对象的方法是:

for (var key in object) {
  if (object.hasOwnProperty(key)) {
    // key is the key, object[key] is the value
  }
}

有关迭代对象的更多信息,请参阅如何以对象为成员循环遍历纯 JavaScript 对象?.

编辑:在您的情况下,要获取与某个属性匹配的特定项目,您可以执行以下操作:

$.each(data["150"], function(i, item) {
    if (item.diameter == "0,5 / 15mm") {
        console.log(item);
    }
});

编辑#2:我抬头$.each,看起来我错了。它可用于遍历数组和对象(http://api.jquery.com/jQuery.each/)。也就是说,在您的情况下,鉴于数据的结构,只$.each需要一个,如我上面所示。

于 2013-07-29T10:49:37.620 回答