使用jquery将输入值与数组值进行比较

时间:2015-03-03 19:56:21

标签: javascript jquery html ajax json

我正在使用ajax调用来使用jQuery获取JSON文件。虽然我这样做并且可以达到文件的值,但下一个挑战是获取对象数组的值并将其与输入源进行比较。如果为真,则以跨度或分区打印出来......

这是使用jQuery的脚本:

<!doctype html>
<html>
<head>
    <title>jQuery.getJSON demo</title>
</head>

<body>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>
    /*
    $.getJSON('zipcodes.json', function(data){
        console.log('It worked!');
    //test
}); 
    */

    $.ajax({
    url: 'zipcodes.json',
    dataType: 'json',
    type: 'get',
    cache: false,
    success: function (data) {
        $(data.zipcodes).each(function(index, value) {

            console.log(value.zip);

        });
    }

});
</script>

JSON文件是:

{
    "zipcodes": [
    {
        "zip": "20002",
        "city": "Washington",
        "state": "DC"
      },
      {
        "zip": "10001",
        "city": "New York",
        "state": "NY"
      }
  ]
}

JSON文件有效但我想我试图找出zip值的比较,例如

如果var text =&#39; 10001&#39; == value.zip在数组中返回HTML中的城市和状态我可以实现该部分,但在jQuery部分我不知道如何获取索引。我尝试使用.eq和.get,但它不会工作。

谢谢!

1 个答案:

答案 0 :(得分:0)

请参阅我的Plunk 我很确定这就是你所追求的。

你的jQuery都很好。您只需要使用jQuery $ .inArray函数检查输入的zip对Array的值,以获取索引:

$.inArray(value, myZips.zipcodes);