检查用户输入值是否与JSON条目ID /值匹配

时间:2019-04-26 15:01:10

标签: jquery json

这是通过/ locations.json

我的JSON的样子(每个数据输入/设置)
{
 "20101":{ // I use zip value as an entry ID, so check if this matches .val()
    "Zipcode":"20101",
    "City":"",
    "Primary State":"Virginia",
    "Lotto":"49530",
    "County":"Loudoun"
} // .... etc more entries

这是我的Web表单HTML标记:

<form action="">
   <input type="text" name="Zipcode" id="Zipcode" value="" maxlength="5" placeholder="Zipcode">
   <input type="button" name="submit" id="submit" value="Submit">
</form> 
  • 我只是尝试通过输入标签检查我的#ZipCode值 等于我的JSON ID的值,因此在20101以上的JSON示例中。
  • 如果存在匹配项,则我成功地进行了控制台日志记录(即以下 行);但是我需要在iffor语句中执行此操作 继续处理之前和之后的数据。

console.log(myjson [ZipSearch]); #可行,但我需要处理if或for语句

这里有jQuery;我尝试将JSON定义为const和其他一些东西。包括filter /任何想法,我如何可以简单地在 if for 语句中检查此 match ,以便我可以继续处理数据?

$(document).ready(function() {
    $("#submit").click(function() {
        var ZipSearch = $("#Zipcode").val();
        console.log(ZipSearch)
        var myjson;
        $.getJSON("locations/locations.json", function(json) {
            myjson = json;
            console.log(myjson[ZipSearch]); 

        });
    });
});

最新尝试:(但总是返回失败)

$(document).ready(function() {
    $("#submit").click(function() {
        var ZipSearch = $("#Zipcode").val();
        console.log(ZipSearch)
        var myjson;
        $.getJSON("locations/locations.json", function(json) {
            myjson = json;
            for (var key in json) {
                // console.log(key);
                if (key === ZipSearch) {
                    console.log("Pass")
                    console.log(myjson[ZipSearch]); 
                    $('.error').hide();
                } else { 
                    console.log("Fail")
                    $('.error').show();
                }
            }

        });
    });
});

1 个答案:

答案 0 :(得分:1)

尝试此操作。如果您在进行for循环,则必须在通过后将其断开。 但是执行for循环会浪费时间,请尝试查找变量是否存在。

在下面看看

   $(document).ready(function() {
        $("#submit").click(function() {
            var ZipSearch = $("#Zipcode").val();
            console.log(ZipSearch)
            var myjson;
            $.getJSON("locations/locations.json", function(json) {
                myjson = json;
                if (myjson[ZipSearch]){// if exist 
                        console.log("Pass")
                        console.log(myjson[ZipSearch]); 
                        $('.error').hide();
                }else {
                      console.log("Fail")
                      $('.error').show();
                }
            });
        });
    });