最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js實(shí)現(xiàn)查詢商品案例

 更新時(shí)間:2020年07月22日 09:35:17   作者:黑白兩客  
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)查詢商品案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了js實(shí)現(xiàn)查詢商品的具體代碼,供大家參考,具體內(nèi)容如下

<div class="search">
  按照價(jià)格查詢:<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>產(chǎn)品名稱</th>
    <th>價(jià)格</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-top: 20px;
   width: 1000px;
   height: 100px;
   /* border: 1px solid #ccc; */
   margin:0 auto ; 
   
  }
  th,tr,td{
   border: 1px solid #ccc;
   text-align: center;
   height: 50px;
 }

js:

<script>
  //利用數(shù)組的方式對數(shù)據(jù)進(jìn)行存儲
  var data = [{
   id:1,
   pname: '小米',
   price :3999
  },{
   id:2,
   pname: 'oppo',
   price :999
  },
  {
   id:3,
   pname: '榮耀',
   price :1299
  },
  {
   id:4,
   pname: '華為',
   price :1999
  } 
  ];

  //1.獲取相應(yīng)的元素
  var tbody = document.querySelector('tbody');
  //2.把數(shù)據(jù)渲染到頁面中
  //forEach()。屬于數(shù)組中的方法,第一個(gè)參數(shù)表示為每個(gè)元素,第二個(gè)參數(shù)為每個(gè)元素的索引值,第三個(gè)參數(shù)為整體元素的表達(dá)式
  

  //為了方便使用渲染函數(shù),需要先調(diào)用一次,將商品渲染
  setDate(data);


  //應(yīng)為篩選后也要進(jìn)行渲染,此時(shí)可以將此步設(shè)置為封裝函數(shù)
  function setDate(mydata){

   //重新渲染數(shù)據(jù)的時(shí)候,先清空tbody原來的數(shù)據(jù)
   tbody.innerHTML = '';


   mydata.forEach(function(value){
   //測試
   // console.log(value);

   //將每個(gè)對象放進(jìn)tbody中去,需要先給tbody創(chuàng)建行 tr
   var tr = document.createElement('tr'); 
   //已知每個(gè)對想的屬性名為value,因此可以利用獲取對象中值的方式進(jìn)行賦值 例如:value.id
   tr.innerHTML = '<td>'+value.id +'</td> <td>'+value.pname +'</td> <td>'+value.price +'</td>';
   tbody.appendChild(tr); 
   });
  }


  //3.利用判斷查詢商品信息
  //filter()方法可以用到判斷的效果
  //首先獲取相應(yīng)的元素信息
  var search_price = document.querySelector('.search-price'); 
  var start = document.querySelector('.start');
  var end = document.querySelector('.end');

  search_price.addEventListener('click',function(){
   // alert(1) //測試
   //定義一個(gè)變量名進(jìn)行數(shù)據(jù)接受
   var newDate = data.filter(function(value){
    // console.log(value);
    //返回值: 起始價(jià) <= 價(jià)格 <= 最終價(jià)
    return value.price >= start.value && value.price <= end.value; 
   });
  // 打印變量名
  // console.log(newDate);//測試
  //將篩選完之后的對象渲染到頁面中去
  //調(diào)用渲染函數(shù)
   setDate(newDate);
  })
  

  //4.通過商品名稱查詢,此處的查詢可以利用filter()方法進(jìn)行書寫,也可以利用以下方式書寫查找
  //通過some進(jìn)行查詢,因?yàn)閟ome方法查到后直接退出,比較有效率,同時(shí)some返回的值為布爾值
  //首先獲取相關(guān)元素
  var product = document.querySelector('.product');//輸入
  var search_pro = document.querySelector('.search-prro'); //查詢

  search_pro.addEventListener('click',function(){
   //創(chuàng)建一個(gè)新的數(shù)組用來獲取
   var arr = [];
   data.some(function(value){
    if(value.pname === product.value){
     // console.log(value); //測試
     arr.push(value);//只要是滿足條件,就將獲取到的元素添加到新數(shù)組中去
     return true; //return 必須為true
    }
   });
   // 在此調(diào)用渲染函數(shù)
   setDate(arr); //此時(shí)的 value.price 中的value形參傳遞的是arr實(shí)參對象
  })

</script>

實(shí)現(xiàn)效果:

為什么最后需要利用some進(jìn)行查詢:

因?yàn)槔脭?shù)組的some方法,查詢遍歷,只要返回值結(jié)果為true便可結(jié)束程序,不需要浪費(fèi)太多的事件,大大加強(qiáng)了辦事效率

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • js方塊躲避游戲代碼

    js方塊躲避游戲代碼

    鼠標(biāo)控制,空色方塊不要讓藍(lán)色方塊碰到就可以,看能玩多久,是個(gè)javascript不錯(cuò)的一個(gè)游戲啊,想用js寫游戲的朋友可以參考下,看代碼應(yīng)該是國外的人寫的
    2008-05-05
  • 封裝獲取dom元素的簡單實(shí)例

    封裝獲取dom元素的簡單實(shí)例

    下面小編就為大家?guī)硪黄庋b獲取dom元素的簡單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-07-07
  • js+springMVC 提交數(shù)組數(shù)據(jù)到后臺的實(shí)例

    js+springMVC 提交數(shù)組數(shù)據(jù)到后臺的實(shí)例

    今天小編就為大家分享一篇js+springMVC 提交數(shù)組數(shù)據(jù)到后臺的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • KnockoutJS 3.X API 第四章之表單textInput、hasFocus、checked綁定

    KnockoutJS 3.X API 第四章之表單textInput、hasFocus、checked綁定

    這篇文章主要介紹了KnockoutJS 3.X API 第四章之表單textInput、hasFocus、checked綁定的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • JavaScript?canvas實(shí)現(xiàn)字符雨效果

    JavaScript?canvas實(shí)現(xiàn)字符雨效果

    這篇文章主要為大家詳細(xì)介紹了JavaScript?canvas實(shí)現(xiàn)字符雨效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • JS旋轉(zhuǎn)實(shí)現(xiàn)轉(zhuǎn)盤抽獎效果

    JS旋轉(zhuǎn)實(shí)現(xiàn)轉(zhuǎn)盤抽獎效果

    這篇文章主要為大家詳細(xì)介紹了JS旋轉(zhuǎn)實(shí)現(xiàn)轉(zhuǎn)盤抽獎效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • 深入淺出聊一聊js中的'this'關(guān)鍵字

    深入淺出聊一聊js中的'this'關(guān)鍵字

    js中的this關(guān)鍵字平時(shí)在開發(fā)中使用時(shí)倒是也能正常應(yīng)用,但是對其使用和判斷并不能信手拈來,所以下面這篇文章主要給大家介紹了關(guān)于js中this關(guān)鍵字的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • 淺析JavaScript中的變量復(fù)制、參數(shù)傳遞和作用域鏈

    淺析JavaScript中的變量復(fù)制、參數(shù)傳遞和作用域鏈

    這篇文章主要介紹了淺析JavaScript中的變量復(fù)制、參數(shù)傳遞和作用域鏈 的相關(guān)資料,需要的朋友可以參考下
    2016-01-01
  • Javascript實(shí)現(xiàn)商品秒殺倒計(jì)時(shí)(時(shí)間與服務(wù)器時(shí)間同步)

    Javascript實(shí)現(xiàn)商品秒殺倒計(jì)時(shí)(時(shí)間與服務(wù)器時(shí)間同步)

    在一些購物商城經(jīng)??吹接泻芏嗌唐纷雒霘⒒顒樱簿褪堑褂?jì)時(shí),本篇文章給大家介紹Javascript實(shí)現(xiàn)商品秒殺倒計(jì)時(shí)(時(shí)間與服務(wù)器時(shí)間同步),需要的朋友可以了解下
    2015-09-09
  • 多瀏覽器兼容的動態(tài)加載 JavaScript 與 CSS

    多瀏覽器兼容的動態(tài)加載 JavaScript 與 CSS

    Omar AL Zabir這位MVP總是喜歡搞些稀奇古怪同時(shí)又很實(shí)用的小東西,并且還十分值得參考。最近他就做了一個(gè)叫做ensure的小工具用于動態(tài)加載JavaScript、CSS與HTML,而且IE、Firefox、Opera、Safari都支持了,那么我們就來看看ensure是如何做到動態(tài)加載JavaScript與CSS的。
    2008-09-09

最新評論

达州市| 通道| 镇宁| 高雄市| 武汉市| 周口市| 华蓥市| 湘乡市| 遂平县| 南汇区| 贡觉县| 北海市| 汾阳市| 闻喜县| 大邑县| 花垣县| 淅川县| 静乐县| 绵阳市| 介休市| 团风县| 大洼县| 平武县| 哈密市| 海阳市| 布拖县| 张家界市| 五河县| 肃北| 泗阳县| 乌海市| 铜鼓县| 湟中县| 肇东市| 大关县| 宁武县| 茌平县| 荥阳市| 江陵县| 公安县| 海南省|