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

JS實現(xiàn)點餐自動選擇框(案例分析)

 更新時間:2019年12月10日 10:34:57   作者:庚中  
這篇文章主要介紹了JS實現(xiàn)點餐自動選擇框功能,點擊上方全選和全不選選擇框?qū)崿F(xiàn)對應(yīng)功能,本文分步驟通過實例代碼講解的非常詳細,需要的朋友可以參考下

效果圖:

1. 目標需求(一共兩個):

1.點擊上方全選/全不選選擇框,實現(xiàn)對應(yīng)功能
2.點擊下方選擇框,如果所有選擇框同時被選中,則上方全選框自動變成勾選狀態(tài),否則是非勾選狀態(tài)

2.思路分析:

1.實現(xiàn)上面選擇框全選全不選功能,添加上面的鼠標點擊事件,讓下方所有選擇框跟上方一樣就行
2.下方選擇框在點擊時,使用開關(guān)思想來檢查是否是全部都選擇的狀態(tài)

3.js實現(xiàn)步驟:

上方全選/全不選選擇框,實現(xiàn)步驟

1.獲取元素

var chkAll=document.getElementById('checkAll');
 var chkList=document.getElementsByName('check');

2.實現(xiàn)上方選擇框全選/全不選功能

 chkAll.onclick=function ( ) {
   for(var i=0;i<chkList.length;i++){
    chkList[i].checked=this.checked;
    }
 }

3.下方選擇框點擊

開關(guān)思想:當(dāng)一個操作的結(jié)果只有兩種狀態(tài),就可以使用布爾類型來表示這兩種狀態(tài) isAllOk = true(全部選中)

1.提出假設(shè) isAllOk = true
2.驗證假設(shè)
3.根據(jù)驗證結(jié)果來實現(xiàn)需求

  

 //3.1遍歷下方按鈕,檢查下方按鈕的點擊事件
 for(var i=0;i<chkList.length;i++){
  chkList[i].onclick=function ( ) {
   var isAllChecked=true;//假設(shè)全部都是選中狀態(tài)
   for(var j=0;j<chkList.length;j++){
     if(chkList[j].checked==false){
      isAllChecked=false;
     }
    }
   //檢測完畢之后,根據(jù)開關(guān)的值來設(shè)置上方選擇框的狀態(tài)
   if(isAllChecked==true){
    chkAll.checked=true;
   }
   else {
    chkAll.checked=false;
   }
  }
  }

最后附上完整的代碼:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
 <style>
  * {
   margin: 0;
   padding: 0;
  }
  table {
   border: 1px solid #c0c0c0;
   margin: 100px auto;
   /*margin兩個值代表上下,左右*/
   text-align: center;
   width: 500px;

   border-collapse: collapse;
   /*邊框合并,如果相鄰,則共用一個邊框*/
  }
  th{
   font:bold 15px "微軟雅黑";
   background-color: #09c;
   color: #fff;
   height: 24px;
  }
  td {
   border: 1px solid #d0d0d0;
   color: #404060;
   padding: 15px;
  }
 </style>
</head>
<body>
<table>
 <!--caption是表格的標題-->
 <caption>點餐系統(tǒng)</caption>
 <thead>
 <tr>
  <th>
   <input type="checkbox" id="checkAll">全選/全不選
  </th>
  <th>菜名</th>
  <th>商家</th>
  <th>價格</th>
 </tr>
 </thead>
 <tbody>
 <tr>
  <td>
   <input type="checkbox" name="check"/>
  </td>
  <td>紅燒肉</td>
  <td>隆江豬腳飯</td>
  <td>¥200</td>
 </tr>
 <tr>
  <td>
   <input type="checkbox" name="check"/>
  </td>
  <td>香酥排骨</td>
  <td>隆江豬腳飯</td>
  <td>¥998</td>
 </tr>
 <tr>
  <td><input type="checkbox" name="check"/></td>
  <td>北京烤鴨</td>
  <td>隆江豬腳飯</td>
  <td>¥88</td>
 </tr>

 </tbody>
 <tfoot>
 <tr>
 </tr>
 </tfoot>
</table>
<script>
 //1.獲取界面對應(yīng)元素
 var chkAll=document.getElementById('checkAll');
 var chkList=document.getElementsByName('check');
 //2.實現(xiàn)上方選擇框全選/全不選功能
 chkAll.onclick=function ( ) {
   for(var i=0;i<chkList.length;i++){
    chkList[i].checked=this.checked;
    }
 }
 //3.實現(xiàn)下方選擇功能
 //3.1遍歷下方按鈕,檢查下方按鈕的點擊事件
 for(var i=0;i<chkList.length;i++){
  chkList[i].onclick=function ( ) {
   var isAllChecked=true;//假設(shè)全部都是選中狀態(tài)
   for(var j=0;j<chkList.length;j++){
     if(chkList[j].checked==false){
      isAllChecked=false;
     }
    }
   //檢測完畢之后,根據(jù)開關(guān)的值來設(shè)置上方選擇框的狀態(tài),下面也可以簡寫為 checkAll.checked = isAllChecked;
   if(isAllChecked==true){
    chkAll.checked=true;
   }
   else {
    chkAll.checked=false;
   }
  }
  }
</script>
</body>
</html>

總結(jié)

以上所述是小編給大家介紹的JS實現(xiàn)點餐自動選擇框,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

相關(guān)文章

  • 深入理解關(guān)于javascript中apply()和call()方法的區(qū)別

    深入理解關(guān)于javascript中apply()和call()方法的區(qū)別

    下面小編就為大家?guī)硪黄钊肜斫怅P(guān)于javascript中apply()和call()方法的區(qū)別。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-04-04
  • JS使用oumousemove和oumouseout動態(tài)改變圖片顯示的方法

    JS使用oumousemove和oumouseout動態(tài)改變圖片顯示的方法

    這篇文章主要介紹了JS使用oumousemove和oumouseout動態(tài)改變圖片顯示的方法,涉及javascript鼠標事件及圖片操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • js實現(xiàn)點贊按鈕功能的實例代碼

    js實現(xiàn)點贊按鈕功能的實例代碼

    這篇文章主要介紹了js實現(xiàn)點贊按鈕功能,本文通過實例代碼給大家介紹的非常詳細,對大家的工作或?qū)W習(xí)具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • ES6數(shù)組復(fù)制和填充方法copyWithin()、fill()的具體使用

    ES6數(shù)組復(fù)制和填充方法copyWithin()、fill()的具體使用

    本文主要介紹了ES6數(shù)組復(fù)制和填充方法copyWithin()、fill()的具體使用,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • React中如何使用echarts寫出3d旋轉(zhuǎn)扇形圖

    React中如何使用echarts寫出3d旋轉(zhuǎn)扇形圖

    這篇文章主要給大家介紹了關(guān)于React中如何使用echarts寫出3d旋轉(zhuǎn)扇形圖,介紹了如何使用React、TypeScript、Less和Echarts來構(gòu)建高效、可維護的前端應(yīng)用代碼結(jié)構(gòu),并提供了相關(guān)代碼示例,需要的朋友可以參考下
    2024-11-11
  • 值得分享的輕量級Bootstrap Table表格插件

    值得分享的輕量級Bootstrap Table表格插件

    這篇文章為大家分享了輕量級Bootstrap Table表格插件,以表格的形式顯示的數(shù)據(jù),支持單選,復(fù)選框,排序,分頁,顯示/隱藏列等操作,感興趣的小伙伴們可以參考一下
    2016-05-05
  • 微信小程序代碼上傳、審核發(fā)布小程序

    微信小程序代碼上傳、審核發(fā)布小程序

    這篇文章主要為大家詳細介紹了微信小程序代碼上傳、審核發(fā)布小程序,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • JavaScript交換變量常用4種方法解析

    JavaScript交換變量常用4種方法解析

    這篇文章主要介紹了JavaScript交換變量常用4種方法解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-09-09
  • 如何使用JavaScript快速創(chuàng)建一個1到100的數(shù)組

    如何使用JavaScript快速創(chuàng)建一個1到100的數(shù)組

    平時寫代碼時,我們會生產(chǎn)一些測試用的數(shù)組數(shù)據(jù),比如[1,100]的數(shù)組值,下面這篇文章主要給大家介紹了關(guān)于如何使用JavaScript快速創(chuàng)建一個1到100數(shù)組的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • 如何基于filter實現(xiàn)網(wǎng)站整體變灰功能

    如何基于filter實現(xiàn)網(wǎng)站整體變灰功能

    這篇文章主要介紹了如何基于filter實現(xiàn)網(wǎng)站整體變灰功能,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-04-04

最新評論

保靖县| 讷河市| 杭锦后旗| 那曲县| 车致| 普宁市| 建昌县| 贺州市| 凤台县| 定结县| 巫溪县| 弥勒县| 马公市| 花莲县| 西乡县| 唐海县| 阜新市| 奉贤区| 托克逊县| 故城县| 古蔺县| 桐乡市| 溧水县| 冕宁县| 长沙县| 那坡县| 德惠市| 和顺县| 东辽县| 上思县| 磴口县| 新津县| 临城县| 秭归县| 丰镇市| 蓝田县| 深泽县| 青神县| 江川县| 大埔区| 泌阳县|