国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

checkbox在vue中的用法小結

2024-05-06 15:28:00
字體:
來源:轉載
供稿:網友

前言

關于checkbox多選框是再常見不過的了,幾乎很多地方都會用到,這兩天在使用vue框架時需要用到checkbox多選功能,實在著實讓我頭疼,vue和原生checkbox用法不太一樣,之前對于vue中用到過的checkbox也只是別人寫好的組件,這次在自己實現時走了很多坑,特意寫這篇文章記錄下來,給后來者提供一個參考

在這之前,先看看原生checkbox搭配jquery取值的用法

<input type="checkbox" name="hobby" value="游泳">游泳    <input type="checkbox" name="hobby" value="健身">健身    <input type="checkbox" name="hobby" value="旅游">旅游    $(".section1 input[type=checkbox][name=hobby]").change(function(){         var obj = document.getElementsByName("hobby");     var check_val = [];     for(k in obj){      if(obj[k].checked){        check_val.push(obj[k].value);      }     }     $(".section1 .res").text(check_val);      });

checkbox禁用

<input type="checkbox" name="hobby" value="游泳" checked disabled="true">游泳

在vue中checkbox用法

在vue中,v-model其實是checked語法糖,通過v-model來判斷當前checkbox是否被選中, 它綁定一個數組,選中項的值會自動添加到數組中

<div>請選擇你的愛好(vue)</div>    <input type="checkbox" v-model="hobby2" value="游泳">游泳    <input type="checkbox" v-model="hobby2" value="健身">健身    <input type="checkbox" v-model="hobby2" value="旅游">旅游    <div>你已選中:{{hobby2}}</div>var vm = new Vue({      el: '#app',      data:{        msg:'hello',        hobby2:[]      },      created(){        console.log('created')      },      method:{        login:function(){          alert(1)        }      }    })

vue中checkbox禁用

假如我們要求選項至少選擇一個值,我們來通過disabled來禁止用戶取消點擊選項

 這里主要是通過設置hobby2的值來控制checkbox選項的選中或取消

1.首先先將hobby2數組設置一個默認值hobby2:['游泳']

2.添加input點擊事件

<input type="checkbox" v-model="hobby2" value="游泳" @click="handleClick">游泳handleClick:function(ev){          var that = this;          setTimeout(function(){            console.log('this.hobby2',ev.target.checked,that.hobby2.length,that.hobby2)            if(!ev.target.checked){              if(that.hobby2.length==1){                that.lastcheckval = that.hobby2[0];              }              if(that.hobby2.length==0){                that.hobby2.push(that.lastcheckval)              }            }          },1)        }

1.通過獲取點擊事件 ev.target.checked的值判斷當前點擊狀態是取消還是選中

 如是取消狀態,則判斷當前hobby2長度為0時通過push將lastcheckval最后一個值添加進去,這樣就無法取消最后一個選項

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 阳江市| 法库县| 柘荣县| 怀安县| 三台县| 遂平县| 临沂市| 九台市| 张家界市| 海城市| 陵川县| 阳原县| 泸水县| 定西市| 都安| 甘德县| 景泰县| 额济纳旗| 河池市| 玉环县| 马关县| 葫芦岛市| 清水县| 蒙山县| 体育| 竹山县| 甘洛县| 任丘市| 大渡口区| 澎湖县| 沽源县| 江华| 辽宁省| 姜堰市| 庆安县| 云林县| 张北县| 东台市| 开原市| 九台市| 张北县|