显示“无结果”;如果输入与数组名称不匹配(javascript)
displaying "no results" if input doesn't match array name (javascript)
我有一个搜索函数,允许用户搜索商品,如果已存储,将显示一条消息(在我的结果div中)是否有库存。
我希望在搜索找到结果之前显示"无结果"消息。
我试过了,但是有问题。如果你们能帮忙,我会很感激的。
这是我的完整代码:
var user = document.getElementById('user');
var results = document.getElementById('results');
$('#user').keyup(function() {
search(user.value);
});
var apples = {
firstName: "apples",
stock: "in stock"
};
var bananas = {
firstName: "bananas",
stock: " not in stock"
};
var contacts = [apples, bananas];
function printPerson(person) {
results.innerHTML = (person.firstName + " are " + person.stock);
}
function list() {
var contactsLength = contacts.length;
for (var i = 0; i < contactsLength; i++) {
printPerson(contacts[i]);
}
}
function search(match) {
var contactsLength = contacts.length;
for (var i = 0; i < contactsLength; i++) {
if (contacts[i].firstName == match) {
printPerson(contacts[i]);
}
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="user" placeholder=" type here" />
<div id="results"></div>
我在用户输入时添加了搜索,并在搜索完成时停止搜索。这将有助于您使用ajax请求,这将花费时间从服务器提取数据。当没有结果匹配时,则不提供数据。查看输出
var user = document.getElementById('user');
var results = document.getElementById('results');
$('#user').keydown(function() {
results.innerHTML = 'Searching...';
});
$('#user').keyup(function() {
search(user.value);
});
var apples = {
firstName: "apples",
stock: "in stock"
};
var bananas = {
firstName: "bananas",
stock: " not in stock"
};
var contacts = [apples, bananas];
function printPerson(person) {
results.innerHTML = (person.firstName + " are " + person.stock);
}
function list() {
var contactsLength = contacts.length;
for (var i = 0; i < contactsLength; i++) {
printPerson(contacts[i]);
}
}
function search(match) {
var contactsLength = contacts.length;
var hasAnyMatch = false;
for (var i = 0; i < contactsLength; i++) {
if (contacts[i].firstName == match) {
printPerson(contacts[i]);
hasAnyMatch = true;
}
}
if(!hasAnyMatch){
results.innerHTML = 'No data';
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="user" placeholder=" type here" />
<div id="results"></div>
您可以使用.onkeydown()
以便在用户输入字符串时立即输出'no results'。一旦在项目集合中找到该字符串,该消息将被您的消息覆盖。
var user = document.getElementById('user');
var results = document.getElementById('results');
$('#user').keydown(function() {
results.innerHTML = 'no results';
});
$('#user').keyup(function() {
search(user.value);
});
var apples = {
firstName: "apples",
stock: "in stock"
};
var bananas = {
firstName: "bananas",
stock: " not in stock"
};
var contacts = [apples, bananas];
function printPerson(person) {
results.innerHTML = (person.firstName + " are " + person.stock);
}
function list() {
var contactsLength = contacts.length;
for (var i = 0; i < contactsLength; i++) {
printPerson(contacts[i]);
}
}
function search(match) {
var contactsLength = contacts.length;
for (var i = 0; i < contactsLength; i++) {
if (contacts[i].firstName == match) {
printPerson(contacts[i]);
}
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="user" placeholder=" type here" />
<div id="results"></div>
另一个是:
var user = document.getElementById('user');
var results = document.getElementById('results');
$('#user').keyup(function() {
search(user.value);
});
var apples = {
firstName: "apples",
stock: "in stock"
};
var bananas = {
firstName: "bananas",
stock: " not in stock"
};
var contacts = [apples, bananas];
function printPerson(person) {
results.innerHTML = (person.firstName + " are " + person.stock);
}
function printError() {
results.innerHTML = 'no results';
}
function list() {
var contactsLength = contacts.length;
for (var i = 0; i < contactsLength; i++) {
printPerson(contacts[i]);
}
}
function search(match) {
var contactsLength = contacts.length;
for (var i = 0; i < contactsLength; i++) {
console.log(match)
if (contacts[i].firstName == match) {
return printPerson(contacts[i]);
}
}
return printError();
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="user" placeholder=" type here" />
<div id="results"></div>
见下面的代码
var apples = {
firstName: "apples",
stock: "in stock"
};
var bananas = {
firstName: "bananas",
stock: " not in stock"
};
var contacts = [apples, bananas];
var contactsLength = contacts.length;
function search(key) {
for (var i = 0; i < contactsLength; i++) {
if (contacts[i].firstName == key) {
document.getElementById('results').innerHTML = (contacts[i].firstName + " are " + contacts[i].stock);
break;
} else {
document.getElementById('results').innerHTML = "no results";
}
}
}
<input type="text" id="user" onkeyup="search(this.value)" placeholder=" type here" />
<div id="results"></div>
$("#search-button").click(function () {
// Before you start the search --
results.innerHTML = "no results" ;
// run your search here
//then and in the callback function if the search is async
results.innerHTML = "x number in stock" ;
});
function search (match) {var contactlength = contacts.length;
for (var i = 0; i < contactsLength; i++) {
if (contacts[i].firstName == match) {
printPerson(contacts[i]);
else {cannotSearch ()}
}
}
}
函数cannotSearch () {
document.Write (
person.firstName + "are " + person.stock);
search ();
}
希望逻辑对你有用。
相关文章:
- 高库存时期时间与时区不匹配
- 在web应用程序中的新搜索中重新加载搜索结果(不带jQuery)
- react路由器使用简单的javascript路由器配置来处理不匹配的路径
- Javascript:图像与单选按钮的值不匹配
- 文本区域(jQuery)的结果不匹配
- 如果状态不匹配,则缩小为丑陋
- 为什么我网页的facebook点赞数与该网页的facebook页面不匹配
- 使用jscodeshift添加表达式时,错误{..}与类型字符串不匹配
- 元素值比较的结果不正确
- JavaScript正则表达式不匹配
- row.entity.xxxx属性doensn'排序后不匹配
- Url.Content中的Url不匹配
- 在谷歌地图API自动完成中显示不匹配字符串的结果
- 结果”;加入“;数组与php中javascript中的日期不匹配
- 茉莉花期望不匹配数组结果
- Mongodb搜索查询-返回所有结果(不匹配的)
- Mongo查找选择器返回不匹配的结果
- 用Angular过滤器突出显示搜索结果,隐藏不匹配的文本
- 显示“无结果”;如果输入与数组名称不匹配(javascript)
- Json字符串javascript对象结果不匹配