1. 程式人生 > 實用技巧 >ES6查詢商品案例

ES6查詢商品案例

案例圖

1.html

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="1.css">
    <title>Document</title>
</head>

<body>
    <div class
="search"> 按照價格查詢:<input type="text" class="start">-<input type="text" class="end"> <button class="search_price">搜尋</button>按照商品名稱:<input type="text" class="product"><button class="search_pro">查詢</button> </div> <table> <thead> <tr> <th>id</th> <th>產品名稱</th> <th>價格</th> </tr> <!-- <tr> <td>1
</td> <td>小米</td> <td>999</td> </tr> --> </thead> <tbody> </tbody> </table> <script> var data = [{ id: 1, pname: '小米', price:
3999 }, { id: 2, pname: 'oppo', price: 999 }, { id: 3, pname: '榮耀', price: 1299 }, { id: 4, pname: '華為', price: 1999 }, ]; var tbody = document.querySelector('tbody'); var start = document.querySelector('.start'); var end = document.querySelector('.end'); var search_price = document.querySelector('.search_price'); var product = document.querySelector('.product'); var search_pro = document.querySelector('.search_pro'); getData(data); //把資料渲染到頁面上 function getData(data) { //x渲染之前先把tbody清空 tbody.innerHTML = ''; data.forEach(function (value) { var tr = document.createElement('tr'); tr.innerHTML = '<td>' + value.id + '</td><td>' + value.pname + '</td><td>' + value.price + '</td>'; tbody.appendChild(tr); }); }; //功能1實現,按照商品價格查詢商品 search_price.addEventListener('click', function () { var newdata = data.filter(function (value) { console.log(value.price); return value.price >= start.value && value.price <= end.value; }); getData(newdata); }); //功能3,根據商品名稱查詢商品 //如果查詢陣列中唯一的元素,可優先考慮some search_pro.addEventListener('click', function () { var arr = []; data.some(function (value) { if (value.pname === product.value) { arr.push(value); return true; } }); getData(arr); }) </script> </body> </html>

1.css

* {
    margin: 0;
    padding: 0;
}

.search {
    text-align: center;
    margin-top: 10px;
}

.search input {
    height: 20px;
    width: 55px;
}

.search button {
    height: 25px;
    width: 40px;
    margin: 0 5px;
}

table {
    width: 500px;
    border: 1px solid #ccc;
    border-collapse: collapse;
    text-align: center;
    margin: 10px auto;
}

table th,
td {
    border: 1px solid #ccc;
}