我有一个JSON文件,js / links.json:
{ "allLinks": [
{
"Link": "http://bbc.com",
"Poster": "John"
},
{
"Link": "http://espn.com",
"Poster": "Jane"
}
...etc.
以及以下HTML:
<input placeholder="http://" id="urlField" type="text">
<button type="button" id="search" name="button">Search</button>
<div id="result"></div>
我想要的行为是:
#result
:&#34;这已存在,并由[海报]发布&#34; 这就是我现在尝试这样做的方式:
$(function(){
$.ajax({
type : 'GET',
url : 'js/links.json',
async : false,
beforeSend : function(){/*loading*/},
dataType : 'json',
success : function(jsonResult){
$("#search").click(function() {
var searchValue = document.getElementById('urlField').value;
// Go through the whole list and find the Link name
var linkExists = false;
$.each(jsonResult.allLinks, function(i, obj) {
if (obj.Link === searchValue ) {
linkExists = true;
alert("It exists");
return false;
}
else {
linkExists = false;
alert("It doesn't exist");
return false;
}
});
});
}
});
});
这里肯定有问题,因为如果我不使用else
,它似乎有效。当我添加它时,它并不总是默认为&#34;它不存在。&#34;
提前感谢您的帮助。
答案 0 :(得分:0)
将var quadRowIndex = function (diameter, quadNumber) {
//diameter should be a positive even number
//quadNumber should be between 0 and index of last number in last row (inclusive)
var quadIndex = 0; //holds the RowIndex, which the function will return once the row contains quadNumber
var rowStartNum = 0;
var rowLength = 2;
//iterate through first half
while (rowLength <= diameter) {
rowStartNum += rowLength;
if (rowStartNum > quadNumber) {
return quadIndex;
}
quadIndex++;
rowLength += 2;
}
rowLength -= 2;
//iterate through second half if still here
while (rowLength >= 2) {
rowStartNum += rowLength;
if (rowStartNum > quadNumber) {
return quadIndex;
}
quadIndex++;
rowLength -= 2;
}
//still here -- number was too high, return error signal
return -1;
};
console.log(quadRowIndex(6, 9));
console.log(quadRowIndex(6, 20));
console.log(quadRowIndex(6, 100));
语句的内容拉出for循环,否则每次点击第一个元素时else
都会失败并且不会产生匹配。
alert
$(function() {
$.ajax({
type: 'GET',
url: 'js/links.json',
async: false,
beforeSend: function() { /*loading*/ },
dataType: 'json',
success: function(jsonResult) {
$("#search").click(function() {
var searchValue = document.getElementById('urlField').value;
// Go through the whole list and find the Link name
var linkExists = false;
$.each(jsonResult.allLinks, function(i, obj) {
if (obj.Link === searchValue) {
linkExists = true;
alert("It exists");
return false;
}
});
if (!linkExists) {
alert("It doesn't exist");
return false;
}
});
}
});
});