【发布时间】:2018-10-16 18:27:05
【问题描述】:
我正在尝试运行一个扫描以下数组的函数:
var products = [
{
brand:"Healthy Boy",
product:"Sweet Chilli Sauce",
size: 300,
measurement: "ml",
barcode:909274636143,
quantity:"2"
},
{
brand:"Kikkoman",
product:"Soy Sauce",
size: 1,
measurement: "litre",
barcode:2345324513,
quantity:"23"
},
{
brand:"Golden Dragon",
product:"Rice",
size: 1,
measurement: "kg",
barcode:5623593845,
quantity:"5"
}
];
用于扫描这个数组然后显示产品信息的函数是:
function isBarcodeValid (barcode){
for(var i = 0; i < products.length; i++) {
if(products [i].barcode === barcode) {
document.querySelector('#productBrandResult').textContent =
(products[i].brand);
document.querySelector('#productNameResult').textContent =
(products[i].product);
document.querySelector('#productSizeResult').textContent =
(products[i].size);
document.querySelector('#productMeasurementResult').textContent =
(products[i].measurement);
document.querySelector('#productBarcodeResult').textContent =
(products[i].barcode);
document.querySelector('#productQuantityResult').textContent =
(products[i].quantity);
}
}
alert("invalid barcode");
}
我有一个 id 为“barcodeSearch”的输入框,我正在尝试通过上述函数使用我在此输入框中输入的值。我有以下代码:
function checkLength(){
return document.getElementById("barcodeSearch").value.length;
}
document.getElementById("barcodeSearch").addEventListener("keypress",
function (event) {
if (checkLength() > 0 && event.keyCode === 13){
var barcodeEntered = document.getElementById("barcodeSearch").value;
isBarcodeValid(barcodeEntered);
}
});
当我尝试以这种方式运行该功能时,我不断收到警报(“无效条形码”)。
任何想法为什么?谢谢
【问题讨论】:
-
去掉
products和[i]之间的空格
标签: javascript arrays function input