欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS實(shí)現(xiàn)點(diǎn)餐自動(dòng)選擇框(案例分析)

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

效果圖:

1. 目標(biāo)需求(一共兩個(gè)):

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

2.思路分析:

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

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

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

1.獲取元素

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

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

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

3.下方選擇框點(diǎn)擊

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

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

  

 //3.1遍歷下方按鈕,檢查下方按鈕的點(diǎn)擊事件
 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;
     }
    }
   //檢測(cè)完畢之后,根據(jù)開關(guān)的值來(lái)設(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兩個(gè)值代表上下,左右*/
   text-align: center;
   width: 500px;

   border-collapse: collapse;
   /*邊框合并,如果相鄰,則共用一個(gè)邊框*/
  }
  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是表格的標(biāo)題-->
 <caption>點(diǎn)餐系統(tǒng)</caption>
 <thead>
 <tr>
  <th>
   <input type="checkbox" id="checkAll">全選/全不選
  </th>
  <th>菜名</th>
  <th>商家</th>
  <th>價(jià)格</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.獲取界面對(duì)應(yīng)元素
 var chkAll=document.getElementById('checkAll');
 var chkList=document.getElementsByName('check');
 //2.實(shí)現(xiàn)上方選擇框全選/全不選功能
 chkAll.onclick=function ( ) {
   for(var i=0;i<chkList.length;i++){
    chkList[i].checked=this.checked;
    }
 }
 //3.實(shí)現(xiàn)下方選擇功能
 //3.1遍歷下方按鈕,檢查下方按鈕的點(diǎn)擊事件
 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;
     }
    }
   //檢測(cè)完畢之后,根據(jù)開關(guān)的值來(lái)設(shè)置上方選擇框的狀態(tài),下面也可以簡(jiǎn)寫為 checkAll.checked = isAllChecked;
   if(isAllChecked==true){
    chkAll.checked=true;
   }
   else {
    chkAll.checked=false;
   }
  }
  }
</script>
</body>
</html>

總結(jié)

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

相關(guān)文章

  • 利用JS實(shí)現(xiàn)scroll自定義滾動(dòng)效果詳解

    利用JS實(shí)現(xiàn)scroll自定義滾動(dòng)效果詳解

    這篇文章主要給大家介紹了關(guān)于利用JS如何實(shí)現(xiàn)scroll自定義滾動(dòng)效果的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-10-10
  • JS中截取數(shù)組的幾種方法總結(jié)

    JS中截取數(shù)組的幾種方法總結(jié)

    在JavaScript中數(shù)組是一種常用的數(shù)據(jù)結(jié)構(gòu),用于存儲(chǔ)多個(gè)值,這篇文章主要給大家總結(jié)介紹了關(guān)于JS中截取數(shù)組的幾種方法,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-05-05
  • axios如何利用promise無(wú)痛刷新token的實(shí)現(xiàn)方法

    axios如何利用promise無(wú)痛刷新token的實(shí)現(xiàn)方法

    這篇文章主要介紹了axios如何利用promise無(wú)痛刷新token的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • JS+ACTIVEX實(shí)現(xiàn)網(wǎng)頁(yè)選擇本地目錄路徑對(duì)話框

    JS+ACTIVEX實(shí)現(xiàn)網(wǎng)頁(yè)選擇本地目錄路徑對(duì)話框

    使用ACTIVEX對(duì)象遍歷本地磁盤和目錄,只需網(wǎng)頁(yè)啟用相關(guān)ACTIVEX的INTERNET選項(xiàng)即可實(shí)現(xiàn)路徑選擇對(duì)話框,感興趣的你可以參考下哈希望可以幫助到你
    2013-03-03
  • 如何快速高效創(chuàng)建JavaScript 二維數(shù)組方法詳解

    如何快速高效創(chuàng)建JavaScript 二維數(shù)組方法詳解

    這篇文章主要為大家介紹了如何快速高效創(chuàng)建JavaScript 二維數(shù)組方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • 用瀑布流的方式在網(wǎng)頁(yè)上插入圖片的簡(jiǎn)單實(shí)現(xiàn)方法

    用瀑布流的方式在網(wǎng)頁(yè)上插入圖片的簡(jiǎn)單實(shí)現(xiàn)方法

    下面小編就為大家?guī)?lái)一篇用瀑布流的方式在網(wǎng)頁(yè)上插入圖片的簡(jiǎn)單實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-09-09
  • Javascript數(shù)組去重的幾種方法詳解

    Javascript數(shù)組去重的幾種方法詳解

    下面小編就為大家?guī)?lái)一篇Javascript數(shù)組去重的幾種方法詳?shù)慕榻B。小編覺(jué)得聽錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看
    2021-09-09
  • Javascript中的幾種URL編碼方法比較

    Javascript中的幾種URL編碼方法比較

    這篇文章主要介紹了Javascript中的幾種URL編碼方法比較,本文對(duì)比了escape()、encodeURI()以及encodeURIComponent()這3種URL編碼方法,需要的朋友可以參考下
    2015-01-01
  • 基于JavaScript實(shí)現(xiàn)跳轉(zhuǎn)提示頁(yè)面

    基于JavaScript實(shí)現(xiàn)跳轉(zhuǎn)提示頁(yè)面

    這篇文章主要介紹了基于JavaScript實(shí)現(xiàn)跳轉(zhuǎn)提示頁(yè)面 的相關(guān)資料,需要的朋友可以參考下
    2016-09-09
  • 一個(gè)炫酷的Bootstrap導(dǎo)航菜單

    一個(gè)炫酷的Bootstrap導(dǎo)航菜單

    這篇文章主要為大家詳細(xì)介紹了一個(gè)炫酷的Bootstrap導(dǎo)航菜單的制作方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12

最新評(píng)論