这是通过/ locations.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示例中。if
或for
语句中执行此操作
继续处理之前和之后的数据。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();
}
}
});
});
});
答案 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();
}
});
});
});