Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 精品一区二区影院在线,亚洲视频观看,中文精品久久久久国产不卡

          整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          multiple-select.js中手動(dòng)設(shè)置全選和取消全選

          multiple-select。這個(gè)組件風(fēng)格簡單、文檔全、功能強(qiáng)大。multiple-select。這個(gè)組件風(fēng)格簡單、文檔全、功能強(qiáng)大。但是覺得它選中的效果不太好。關(guān)于它的效果展示,我們放在后面。還是給出對(duì)應(yīng)的文檔API。 我們項(xiàng)目中因?yàn)樾枰噙x的下拉列表select,因此找到了這個(gè)控件,但是有些需求需要能夠設(shè)置多選的select一個(gè)初始值,開始找不到怎么實(shí)現(xiàn),后來找了資料才發(fā)現(xiàn)其實(shí)很簡單。

          用法

          首先引入需要的js文件和樣式css文件。

          <!-- 多選select-->



          然后在頁面html代碼中定義一個(gè)多選的select控件



          最重要的是需要在domcument載入的時(shí)候,初始化multiple-select的參數(shù)。



          這樣就可以允許為多選了,初始化select列表控件了。

          問題

          在項(xiàng)目中,有一個(gè)需求是在頁面載入的時(shí)候,就要把select全部選中,也就是全選功能。但是找了一圈也沒找到直接可以多選的方法,巴拉了半天的網(wǎng)站,也沒有找到對(duì)應(yīng)的方法。 最后只能在網(wǎng)站幫助文檔中找到方法checkAll和uncheckAll方法描述,但是具體怎么使用沒有demo了。

          后來試了一圈,終于找到方法了。很簡單,如下一句話代碼解決。

          解決方法


          初始化的時(shí)候,增加一行代碼,如下:

          $("#accountList").multipleSelect('checkAll');

          同于服務(wù)器端腳本語言,例如php與ASP,Javascript是客戶端腳本語言,也就是說JavaScript是在用戶的瀏覽器上運(yùn)行,不需要服務(wù)器的支持而可以獨(dú)立運(yùn)行。所以在早期程序員比較青睞于JavaScript以減少對(duì)服務(wù)器的負(fù)擔(dān),而與此同時(shí)也帶來另一個(gè)問題:安全性。而隨著服務(wù)器的強(qiáng)壯,雖然程序員更喜歡運(yùn)行于服務(wù)端的腳本以保證安全,但JavaScript仍然以其跨平臺(tái)、容易上手等優(yōu)勢(shì)大行其道。

          Web前端教程

          復(fù)選框的全選和全不選

          需求分析

          商品分類界面中,當(dāng)我們點(diǎn)擊全選框的時(shí)候,我們希望選中所有的商品,當(dāng)我們?nèi)∠舻臅r(shí)候,我們希望不選中所有的商品

          技術(shù)分析

          checked="checked"選擇復(fù)選框

          事件:onclick點(diǎn)擊事件

          getElementsByTagName:返回包含帶有指定標(biāo)簽名稱的所有元素的節(jié)點(diǎn)列表(集合/節(jié)點(diǎn)數(shù)組)。

          getElementsByName:返回包含帶有指定類名的所有元素的節(jié)點(diǎn)列表。

          步驟分析

          全選和全部選步驟分析:

            1.確定事件:onclick單機(jī)事件

            2.事件觸發(fā)函數(shù):checkAll()

            3.函數(shù)要去做一些事情:

            獲得當(dāng)前第一個(gè)checkbox的狀態(tài)

            獲得所有分類項(xiàng)的checkbox

            修改每一個(gè)checkbox的狀態(tài)

          代碼實(shí)現(xiàn)

            <!DOCTYPEhtml>

            <html>

             <head>

             <metacharset="UTF-8">

             <title></title>

             <!--

             1.確定事件:文檔加載完成onload

             2.事件要觸發(fā)函數(shù):init()

             3.函數(shù):操作頁面的元素

             要操作表格中每一行

             動(dòng)態(tài)的修改行的背景顏色

             -->

             <script>

             functioninit(){

             //得到表格

             vartab=document.getElementById("tab");

             //得到表格中每一行

             varrows=tab.rows;

             //便利所有的行,然后根據(jù)奇數(shù)偶數(shù)

             for(vari=1;i<rows.length;i++){

             varrow=rows[i];//得到其中的某一行

             if(i%2==0){

             row.bgColor="yellow";

             }else{

             row.bgColor="red"

             }

             }

             }  

             /*

          全選和全部選步驟分析:

             1.確定事件:onclick單機(jī)事件

             2.事件觸發(fā)函數(shù):checkAll()

             3.函數(shù)要去做一些事情:

             獲得當(dāng)前第一個(gè)checkbox的狀態(tài)

             獲得所有分類項(xiàng)的checkbox

             修改每一個(gè)checkbox的狀態(tài)

             */

             functioncheckAll(){

            // 獲得當(dāng)前第一個(gè)checkbox的狀態(tài)

             varcheck1=document.getElementById("check1");

             //得到當(dāng)前checked狀態(tài)

             varchecked=check1.checked;

            // 獲得所有分類項(xiàng)的checkbox

            // varchecks=document.getElementsByTagName("input");

             varchecks=document.getElementsByName("checkone");

            // alert(checks.length);

             for(vari=0;i<checks.length;i++){

            // 修改每一個(gè)checkbox的狀態(tài)

             varcheckone=checks[i];

             checkone.checked=checked;

             }

             }

             </script>

             </head>

             <bodyonload="init()">

             <tableborder="1px"width="600px"id="tab">

             <tr>

             <td>

             <inputtype="checkbox"onclick="checkAll()"id="check1"/>

             </td>

             <td>分類ID</td>

             <td>分類名稱</td>

             <td>分類商品</td>

             <td>分類描述</td>

             <td>操作</td>

             </tr>

             <tr>

             <td>

             <inputtype="checkbox"name="checkone"/>

             </td>

             <td>1</td>

             <td>手機(jī)數(shù)碼</td>

             <td>華為,小米,尼康</td>

             <td>黑馬數(shù)碼產(chǎn)品質(zhì)量最好</td>

             <td>

             <ahref="#">修改</a>|<ahref="#">刪除</a>

             </td>

             </tr>

             <tr>

             <td>

             <inputtype="checkbox"name="checkone"/>

             </td>

             <td>2</td>

             <td>成人用品</td>

             <td>充氣的</td>

             <td>這里面的充氣電動(dòng)硅膠的</td>

             <td><ahref="#">修改</a>|<ahref="#">刪除</a></td>

             </tr>

             <tr>

             <td>

             <inputtype="checkbox"name="checkone"/>

             </td>

             <td>3</td>

             <td>電腦辦公</td>

             <td>聯(lián)想,小米</td>

             <td>筆記本特賣</td>

             <td><ahref="#">修改</a>|<ahref="#">刪除</a></td>

             </tr>

             <tr>

             <td>

             <inputtype="checkbox"name="checkone"/>

             </td>

             <td>4</td>

             <td>饞嘴零食</td>

             <td>辣椒,麻花,黃瓜</td>

             <td>年貨</td>

             <td><ahref="#">修改</a>|<ahref="#">刪除</a></td>

             </tr>

             <tr>

             <td>

             <inputtype="checkbox"name="checkone"/>

             </td>

             <td>5</td>

             <td>床上用品</td>

             <td>床單,被套,四件套</td>

             <td>都是套子</td>

             <td><ahref="#">修改</a>|<ahref="#">刪除</a></td>

             </tr>

             </table>

             </body>

            </html>

          JavaScript是一種腳本語言,其源代碼在發(fā)往客戶端運(yùn)行之前不需經(jīng)過編譯,而是將文本格式的字符代碼發(fā)送給瀏覽器由瀏覽器解釋運(yùn)行。解釋語言的弱點(diǎn)是安全性較差,而且在JavaScript中,如果一條運(yùn)行不了,那么下面的語言也無法運(yùn)行。而且由于每次重新加載都會(huì)重新解譯,加載后,有些代碼會(huì)延遲至運(yùn)行時(shí)才解譯,甚至?xí)啻谓庾g,所以速度較慢。

          以上是酷仔今日整理的“前端教程:使用JavaScript完成復(fù)選框的全選和全不”一文,希望為正在學(xué)習(xí)Web前端的同學(xué)提供參考。

          選框全選與全不選的實(shí)現(xiàn)

          多選框全選與全不選是前端開發(fā)人員必學(xué)的案例了,這里完成了以下需求:

          • 當(dāng)用戶勾上“全選”時(shí),自動(dòng)選中所有語言,并把“全選”變成“全不選”;
          • 當(dāng)用戶去掉“全不選”時(shí),自動(dòng)不選中所有語言;
          • 當(dāng)用戶點(diǎn)擊“反選”時(shí),自動(dòng)把所有語言狀態(tài)反轉(zhuǎn)(選中的變?yōu)槲催x,未選的變?yōu)檫x中);
          • 當(dāng)用戶把所有語言都手動(dòng)勾上時(shí),“全選”被自動(dòng)勾上,并變?yōu)椤叭贿x”;
          • 當(dāng)用戶手動(dòng)去掉選中至少一種語言時(shí),“全不選”自動(dòng)被去掉選中,并變?yōu)椤叭x”。

          網(wǎng)頁代碼部分如下:

          <form id="test-form" action="test">
              <legend>請(qǐng)選擇想要學(xué)習(xí)的編程語言:</legend>
              <fieldset>
                  <p>
                      <label class="selectAll">
                          <input type="checkbox">
                          <span class="selectAll">全選</span>
                          <span class="deselectAll">全不選</span>
                      </label>
                      <a href="#0" class="invertSelect">反選</a></p>
                  <p><label><input type="checkbox" name="lang" value="javascript"> JavaScript</label></p>
                  <p><label><input type="checkbox" name="lang" value="python"> Python</label></p>
                  <p><label><input type="checkbox" name="lang" value="ruby"> Ruby</label></p>
                  <p><label><input type="checkbox" name="lang" value="haskell"> Haskell</label></p>
                  <p><label><input type="checkbox" name="lang" value="scheme"> Scheme</label></p>
                  <p>
                      <button type="submit">Submit</button>
                  </p>
              </fieldset>
          </form>

          先獲取dom元素

          var
                  form = $('#test-form'),
                  langs = form.find('[name=lang]'),
                  selectAll = form.find('label.selectAll :checkbox'),
                  selectAllLabel = form.find('label.selectAll span.selectAll'),
                  deselectAllLabel = form.find('label.selectAll span.deselectAll'),
                  invertSelect = form.find('a.invertSelect');

          全選與全不選實(shí)現(xiàn)起來很簡單,利用jquery對(duì)象的prop方法來設(shè)置選中狀態(tài),需要注意的是這里不能使用attr()方法:

           // 全選與全不選
                  selectAll.on("change",()=>{
                      if(selectAll.prop("checked")) {
                          //全選
                          langs.prop("checked",true)
                          selectAllLabel.hide()
                          deselectAllLabel.show()
                      }else{
                          // 全不選
                          langs.prop("checked",false)
                          selectAllLabel.show()
                          deselectAllLabel.hide()
                      }
                      
                  })

          反選的方法也很簡單:

                  invertSelect.on("click",()=>{
                      //jquery對(duì)象要先使用Array.from方法轉(zhuǎn)換成數(shù)組,利用數(shù)組來遍歷
                      //需要注意的是,遍歷的每一個(gè)元素是dom對(duì)象,而不是jquery對(duì)象了,
                      //不能再使用prop方法了
                      Array.from(langs).forEach(item=>item.checked=!item.checked)
                  })

          當(dāng)用戶把所有語言都手動(dòng)勾上時(shí),“全選”被自動(dòng)勾上,并變?yōu)椤叭贿x”。實(shí)現(xiàn)這個(gè)需求,需要讓change事件綁定所有的name為lang的checkbox對(duì)象(langs),事件觸發(fā)時(shí),要遍歷所有的langs,如果全部為選中狀態(tài),則“全選”自動(dòng)勾上,并變?yōu)椤叭贿x”。這里獲取所有的選中狀態(tài)的checkbox,可以使用 $('[name=lang]:checked'),代碼如下:

              var langsChecked = $('[name=lang]:checked')
               //如果選中的checkbox數(shù)量大于等于5,即是全部選中
              if(langsChecked.length>=5){
                  //全選打勾
                  selectAll.prop("checked",true)
                  //全選標(biāo)簽隱藏
                  selectAllLabel.hide()
                  //全不選標(biāo)簽顯示
                  deselectAllLabel.show()
              }else{
                  //全選去掉勾
                  selectAll.prop("checked",false)
                  //全選標(biāo)簽顯示
                  selectAllLabel.show()
                  //全不選標(biāo)簽隱藏
                  deselectAllLabel.hide()
              }

          為避免與之前的代碼顯示沖突,這里封裝為一個(gè)方法,前面的代碼也需要使用該方法,完整代碼如下:

           $(function(){
              var
                  form = $('#test-form'),
                  langs = form.find('[name=lang]'),
                  selectAll = form.find('label.selectAll :checkbox'),
                  selectAllLabel = form.find('label.selectAll span.selectAll'),
                  deselectAllLabel = form.find('label.selectAll span.deselectAll'),
                  invertSelect = form.find('a.invertSelect');
          
                  // 全選與全不選
                  selectAll.on("change",()=>{
                      if(selectAll.prop("checked")) {
                          //全選
                          langs.prop("checked",true)
                          selectAllLabel.hide()
                          deselectAllLabel.show()
                      }else{
                          // 全不選
                          langs.prop("checked",false)
                          selectAllLabel.show()
                          deselectAllLabel.hide()
                      }
                      select()
                  })
                  //反選
                  invertSelect.on("click",()=>{
                      //jquery對(duì)象要先使用Array.from方法轉(zhuǎn)換成數(shù)組,利用數(shù)組來遍歷
                      //需要注意的是,遍歷的每一個(gè)元素是dom對(duì)象,而不是jquery對(duì)象了,
                      //不能再使用prop方法了
                      Array.from(langs).forEach(item=>item.checked=!item.checked)
                      select()
                  })
                  //當(dāng)用戶把所有語言都手動(dòng)勾上時(shí),“全選”被自動(dòng)勾上,并變?yōu)椤叭贿x”;
                  //當(dāng)用戶手動(dòng)去掉選中至少一種語言時(shí),“全不選”自動(dòng)被去掉選中,并變?yōu)椤叭x”。
                  function select(){
                      var langsChecked = $('[name=lang]:checked')
                      console.log(langsChecked)
                      //如果選中的checkbox數(shù)量大于等于5,即是全部選中
                      if(langsChecked.length>=5){
                          selectAll.prop("checked",true)
                          selectAllLabel.hide()
                          deselectAllLabel.show()
                      }else{
                          selectAll.prop("checked",false)
                          selectAllLabel.show()
                          deselectAllLabel.hide()
                      }
                  }
          
                  langs.change(select)
          
          })

          如有疑問,歡迎在評(píng)論區(qū)留言。


          主站蜘蛛池模板: 一区二区三区日韩| 久久se精品一区精品二区国产| 无码人妻精品一区二区| 性色AV一区二区三区| 亚洲国产欧美一区二区三区| 性色av闺蜜一区二区三区| 男人的天堂精品国产一区| 国精品无码一区二区三区在线| 精品人无码一区二区三区| 国模精品一区二区三区视频| 免费在线观看一区| 日韩精品无码一区二区三区| 国产在线观看精品一区二区三区91 | 无码国产精品一区二区免费虚拟VR | 日本一区二区三区不卡在线视频 | 综合久久久久久中文字幕亚洲国产国产综合一区首 | 无码囯产精品一区二区免费 | 国产成人片视频一区二区| 国产精品高清一区二区三区| 国产福利日本一区二区三区| 色妞AV永久一区二区国产AV| 成人国产精品一区二区网站公司| 亚洲无线码一区二区三区| 鲁丝丝国产一区二区| 久久人妻内射无码一区三区| 夜色阁亚洲一区二区三区| 无码国产精品一区二区免费虚拟VR| 亚洲一区无码精品色| 精品国产AV无码一区二区三区| 国产成人久久精品麻豆一区| 99久久人妻精品免费一区| 中文字幕在线一区二区三区| 亲子乱av一区区三区40岁| 国产免费一区二区视频| 乱人伦一区二区三区| 日韩精品一区二区三区在线观看l| 亚洲av无码不卡一区二区三区| 夜色阁亚洲一区二区三区| 国产成人免费一区二区三区| 亚洲日韩中文字幕一区| 精品少妇ay一区二区三区|