js实现查询商品案例
网络编程 2021-07-04 14:06www.168986.cn编程入门
这篇文章主要为大家详细介绍了js实现查询商品案例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了js实现查询商品的具体代码,供大家参考,具体内容如下
<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-prro">查询</button> </div> <table> <thead> <tr> <th>id</th> <th>产品名称</th> <th>价格</th> </tr> </thead> <tbody> <!-- <tr> <td>1</td> <td>小米</td> <td>2000</td> </tr> <tr> <td>2</td> <td>oppo</td> <td>999</td> </tr> <tr> <td>3</td> <td>荣耀</td> <td>1299</td> </tr> <tr> <td>4</td> <td>华为</td> <td>1999</td> </tr> --> </tbody> </table>
css:
{ margin: 0; padding: 0; } body{ width: 1000px; margin: 0 auto; } .search{ text-align: center; / margin: 0 auto; / } table{ padding-: 20px; width: 1000px; height: 100px; / border: 1px solid #c; / margin:0 auto ; } th,tr,td{ border: 1px solid #c; text-align: center; height: 50px; }
js
<script> //利用数组的方式对数据进行存储 var data = [{ id:1, pname: '小米', price :3999 },{ id:2, pname: 'oppo', price :999 }, { id:3, pname: '荣耀', price :1299 }, { id:4, pname: '华为', price :1999 } ]; //1.获取相应的元素 var tbody = document.querySelector('tbody'); //2.把数据渲染到页面中 //forEach()。属于数组中的方法,第一个参数表示为每个元素,第二个参数为每个元素的索引值,第三个参数为整体元素的表达式 //为了方便使用渲染函数,需要先调用一次,将商品渲染 setDate(data); //应为筛选后也要进行渲染,此时可以将此步设置为封装函数 function setDate(mydata){ //重新渲染数据的时候,先清空tbody原来的数据 tbody.innerHTML = ''; mydata.forEach(function(value){ //测试 // console.log(value); //将每个对象放进tbody中去,需要先给tbody创建行 tr var tr = document.createElement('tr'); //已知每个对想的属性名为value,可以利用获取对象中值的方式进行赋值 例如value.id tr.innerHTML = '<td>'+value.id +'</td> <td>'+value.pname +'</td> <td>'+value.price +'</td>'; tbody.appendChild(tr); }); } //3.利用判断查询商品信息 //filter()方法可以用到判断的效果 //获取相应的元素信息 var search_price = document.querySelector('.search-price'); var start = document.querySelector('.start'); var end = document.querySelector('.end'); search_price.addEventListener('click',function(){ // alert(1) //测试 //定义一个变量名进行数据接受 var newDate = data.filter(function(value){ // console.log(value); //返回值 起始价 <= 价格 <= 最终价 return value.price >= start.value && value.price <= end.value; }); // 打印变量名 // console.log(newDate);//测试 //将筛选完之后的对象渲染到页面中去 //调用渲染函数 setDate(newDate); }) //4.通过商品名称查询,此处的查询可以利用filter()方法进行书写,也可以利用以下方式书写查找 //通过some进行查询,因为some方法查到后直接退出,比较有效率,some返回的值为布尔值 //获取相关元素 var product = document.querySelector('.product');//输入 var search_pro = document.querySelector('.search-prro'); //查询 search_pro.addEventListener('click',function(){ //创建一个新的数组用来获取 var arr = []; data.some(function(value){ if(value.pname === product.value){ // console.log(value); //测试 arr.push(value);//只要是满足条件,就将获取到的元素添加到新数组中去 return true; //return 必须为true } }); // 在此调用渲染函数 setDate(arr); //此时的 value.price 中的value形参传递的是arr实参对象 }) </script>
实现效果
为什么需要利用some进行查询
因为利用数组的some方法,查询遍历,只要返回值结果为true便可结束程序,不需要浪费太多的事件,大大加强了办事效率
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持狼蚁SEO。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程