1. 程式人生 > >checkBox篩選條件多選(類似淘寶多條件篩選) css js html vue

checkBox篩選條件多選(類似淘寶多條件篩選) css js html vue

需求:糾紛要素多選,選中--樣式變化進行標註,若未選要素,點選計算,提示使用者---請選擇要素(類似淘寶,京東的多條件篩選)

如圖:

html程式碼:

引用了vue,使用vue的v-for遍歷

css程式碼:

/*display: inline  div邊框隨文字的長度而變化*/

.fd-checkBox-div{     display: inline;     border-radius: 15px;     padding: 4px 27px;     margin-right: 10px;     border: 1px solid #eceff2;     font-size: 14px;     color: #6a788d;     cursor: pointer;     font-family: 'microsoft yahei'; } .fd-change-blue{     border: 1px solid #15a4fa;     color: #15a4fa; }

/*position: absolute;  visibility: hidden;    控制元素的顯示隱藏,不影響排版*/ .fd-has-ysChecked{     font-size: 14px;     color: red;     cursor: pointer;     position: absolute;     visibility: hidden; } .fd-none-ysChecked{     visibility: inherit; }

js程式碼:

(vue定義變數--略   直接上方法)

/*vue  @click方法傳dom元素     ($event)   

                                                                    target  :你當前點選的元素

                                                                   currentTarget  :你當前事件繫結的元素  */

checkClick: function(ys,e) {                     var _this = this;                     var index = _this.ysCheckedName.indexOf(ys.value);                     if(index == -1){                         $(e.currentTarget).addClass("fd-change-blue");
                        _this.ysCheckedName.push(ys.value);                         _this.ysCheckedCode.push(ys.key);                     }else{                         $(e.currentTarget).removeClass("fd-change-blue");                         _this.ysCheckedName.splice(index,1);                         _this.ysCheckedCode.splice(index,1);                     }                 }

/*getElementsByClassName  獲取的是一個數組,取[0],操作dom元素時,記得加$(...)*/

calculate: function(jflb, zlAyName) {                     var _this = this;                     //判斷是否選擇要素                     var tem = document.getElementsByClassName("fd-has-ysChecked")[0];                     if(_this.ysCheckedName.length == 0){                         $(tem).addClass("fd-none-ysChecked");                         return;                     }else{                         $(tem).removeClass("fd-none-ysChecked")                     }

                    .........接下來是各種dadadadadadad                 }

  • enenenen......寫筆記不如寫部落格。。。

  •                                                                《菜鳥開發筆記》 2018.10.31