2015-07-04 14 views
0

我一直在試圖找出問題的日子,但我似乎無法。也許有人可以看看我的代碼,並給出一些想法。順序搜索不工作在JavaScript數組

var products = [ 
["Test Product", "Test Manufacturer", "Test Model", "Test Class","Test Sellingprice","Test Costprice","Test Quantity"] 
] 

function createProduct() { 
    var name = document.getElementById("productname").value 
    var myclass = document.getElementById("productclass").value 
    var model = document.getElementById("model").value 
    var manufacturer = document.getElementById("manufacturer").value 
    var sellingprice = document.getElementById("productsellprice").value 
    var costprice = document.getElementById("productcostprice").value 
    var quantity = document.getElementById("quantity").value 
    productobject =[name, manufacturer, model, myclass,sellingprice,costprice,quantity]; 
    products.push(productobject); 

} 

function sequentialsearch() { 
    var searchvalue = document.getElementById("search").value; 
    for (i = 0; i < products.length; i++) { 
     for (j = 0; j < products[i].length; j++) { 
      products[i][j].toString; 
      searchvalue.toString; 
      if (searchvalue == products[i][j]) { 
       document.getElementById("searchresults").innerHTML = products[j] 
      } 
      else if (products[i][j] != searchvalue) { 
       document.getElementById("searchresults").innerHTML = "Not Found!!" 
      } 
     } 
    } 
} 

搜索一直給「未找到」即使產品是在那裏陣列

function noduplicate() { 
    for (i = 0; i < products.length;i++) { 
     if (productobject == products[i]) { document.getElementById().innerHTML = "This Product Already Exists!!" } 
      products.pop(productobject) 
    } 
} 

function noduplicate()在犯規找到一個重複的,即使有一個確切的重複。

任何人都可以指出我可以防止正確執行這兩個函數的錯誤嗎?

回答

0

給你,在sequentialsearch功能的一些錯誤,所以我重構它:

var products = [ 
 
    ["Test Product", "Test Manufacturer", "Test Model", "Test Class", "Test Sellingprice", "Test Costprice", "Test Quantity"], 
 
    ["Test Product1", "Test Manufacturer", "Test Model", "Test Class", "Test Sellingprice", "Test Costprice", "Test Quantity"] 
 
]; 
 
//alert(products[0][0]); 
 
function createProduct() { 
 
    var name = document.getElementById("productname").value; 
 
    var myclass = document.getElementById("productclass").value; 
 
    var model = document.getElementById("model").value; 
 
    var manufacturer = document.getElementById("manufacturer").value; 
 
    var sellingprice = document.getElementById("productsellprice").value; 
 
    var costprice = document.getElementById("productcostprice").value; 
 
    var quantity = document.getElementById("quantity").value; 
 
    productobject = [name, manufacturer, model, myclass, sellingprice, costprice, quantity]; 
 
    products.push(productobject); 
 
}; 
 
// THIS FUNCTION GOT ERROR 
 
function sequentialsearch() { 
 
    document.getElementById("searchresults").innerText = ''; 
 
    var searchvalue = document.getElementById("search").value; 
 
    for (i = 0; i < products.length; i++) { 
 
    for (j = 0; j < products[i].length; j++) { 
 
     if (searchvalue == products[i][j]) { 
 
     document.getElementById("searchresults").innerText += products[i][0] + ', '; 
 
     } 
 
    } 
 
    } 
 
    // HERE only if searchresults is null or empty 
 
    if (!document.getElementById("searchresults").innerText) { 
 
    document.getElementById("searchresults").innerText = "Not Found!!"; 
 
    } 
 
};
<input id="search" type="text" value="Test Product" /> 
 
<br />The result: <span id="searchresults"></span> 
 

 
<br /> 
 
<input type="button" value="search" onclick="sequentialsearch()" />

希望這有助於。

+0

非常感謝您花時間瀏覽並理解我的代碼。修復工作完美,我認爲noduplicate()函數同樣是錯誤的,我會重寫函數,並返回給你,如果它的工作與否。 – Mordred