ES6—19:查询商品案例

简介: ES6—19:查询商品案例

1:使用forEach循环渲染数据

image.png

代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .search {
            width: 600px;
            margin: 20px auto;
        }
        input {
            width: 50px;
        }
        table {
            width: 400px;
            border-collapse: collapse;
            margin: 0 auto;
        }
        td,th {
            border: 1px solid;
            border-collapse: collapse;
            text-align: center;
        }
    </style>
</head>
<body>
    <div class="search">
        按照价格查询:<input type="text"> - <input type="text">
        <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>
        </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");
        // 把数据渲染到页面中
        data.forEach(function(value) {
            console.log(value.pname);
            // 开始渲染
            var tr = document.createElement('tr');
            tr.innerHTML = '<td>'+ value.id +'</td><td>'+ value.pname +'</td><td>'+ value.price +'</td>';
            tbody.appendChild(tr);
        })
    </script>
</body>
</html>


2:根据价格筛选商品

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .search {
            width: 600px;
            margin: 20px auto;
        }
        input {
            width: 50px;
        }
        table {
            width: 400px;
            border-collapse: collapse;
            margin: 0 auto;
        }
        td,
        th {
            border: 1px solid;
            border-collapse: collapse;
            text-align: center;
        }
    </style>
</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>
</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 newarr;
var search_price = document.querySelector('.search-price');
search_price.onclick = function () {
    let input_start = document.querySelector(".start");
    let input_end = document.querySelector(".end");
    let tbody = document.querySelector('tbody');
    tbody.innerHTML = '';
    newarr = data.filter(function (values) {
        return values.price >= input_start.value && values.price <= input_end.value;
    })
    console.log(newarr);
    if (newarr.length == 0) {
    } else {
        newarr.forEach(function (value) {
            var tr = document.createElement('tr');
            tr.innerHTML = '<td>' + value.id + '</td><td>' + value.pname + '</td><td>' + value.price;
            tbody.appendChild(tr);
        })
    }
}
// 根据商品名称查询
var search_pro = document.querySelector('.search-pro');
search_pro.onclick = function() {
    let tbody = document.querySelector('tbody');
    tbody.innerHTML = '';
    var product = document.querySelector('.product');
    data.forEach(function(values) {
        if(product.value == values.pname) {
            let tr = document.createElement('tr');
            tr.innerHTML = '<td>' + values.id + '</td><td>' + values.pname + '</td><td>' + values.price;
            tbody.appendChild(tr);    
        }
    })
}
    </script>
</body>
</html>


实现效果

image.png

相关文章
|
XML JSON 缓存
Java实现根据商品ID搜索抖音商品详情数据方法
Java实现根据商品ID搜索抖音商品详情数据方法
|
20天前
|
API
淘宝API接口( item_detail - 淘宝商品详情查询)
淘宝商品详情查询 API(item_detail)用于获取淘宝商品的详细信息。请求参数包括商品唯一 ID(num_iid)和是否获取促销价(is_promotion)。响应参数包含商品标题、价格、库存、图片链接、品牌等详细信息。
|
1月前
|
JavaScript
js学习--商品列表商品详情
js学习--商品列表商品详情
17 2
|
6月前
|
JSON API 数据格式
Json实现根据关键词搜索请求1688商品列表数据方法,1688商品列表数据接口,1688API接口申请指南
Json实现根据关键词搜索请求1688商品列表数据方法,1688商品列表数据接口,1688API接口申请指南
|
JSON 缓存 API
如何使用商品详情API接口来获取想要的商品数据?
在这篇文章中,我将详细介绍如何使用商品详情API接口来获取想要的商品数据。首先,我们需要了解API接口的基本概念和使用方法。然后,我们将探讨如何通过API接口获取商品数据,并给出示例代码。最后,我们将讨论如何优化API接口的使用,以提高获取商品数据的效率。
|
XML JSON 缓存
Json实现根据关键词搜索请求淘宝商品列表数据方法,淘宝商品列表数据接口,淘宝API接口申请指南
Json实现根据关键词搜索请求淘宝商品列表数据方法,淘宝商品列表数据接口,淘宝API接口申请指南
|
XML JSON 缓存
Java实现根据商品ID请求西域商城商品详情数据方法
Java实现根据商品ID请求西域商城商品详情数据方法
|
XML JSON 缓存
Java实现根据商品ID搜索拼多多商品详情数据方法
Java实现根据商品ID搜索拼多多商品详情数据方法
|
XML JSON 缓存
Java实现商品ID获取淘宝商品详情方法
Java实现商品ID获取淘宝商品详情方法
|
XML JSON 缓存
Java实现商品ID获取京东商品详情Desc商品描述数据方法
Java实现商品ID获取京东商品详情Desc商品描述数据方法