微信小程序 点击控件后选中其它反选实例详解


Posted in Javascript onFebruary 21, 2017

微信小程序 点击控件后选中其它反选实例详解

前言:

如果需要实现进来进行给按钮加上买一送一的样式,或者单击就选中单个按钮,只能靠css结合js进行控制了,小程序暂时没有这样的控件。

实现效果图:

微信小程序 点击控件后选中其它反选实例详解

微信小程序进来的时候自动进行按钮样式的初始化,这个需要一个字段做判断,加上正则表达式wxml文件:

<block wx:for="{{liuliangItems}}">
      <block wx:if="{{item.one2one == 1}}">
       <button class="{{item.changeColor?'selected2':'selected1'}}" type="default" id="{{item.price}}" data-id="{{item.name}}" data-one="{{item.one2one}}" data-orderid="{{item.id}}" data-number="1" bindtap="setPrice">{{item.name}}</button>
      </block>
      <block wx:else>
       <button class="{{item.changeColor?'selected':'normal'}}" type="default" id="{{item.price}}" data-id="{{item.name}}" data-one="{{item.one2one}}" data-orderid="{{item.id}}" data-number="1" bindtap="setPrice">{{item.name}}</button>
      </block>
     </block>

wxss文件

.normal{
 box-sizing: border-box;
 flex: 0 0 21%;
 margin: 5px 5px;
 height: 50px;
 color:#1aad19;
 border:1px solid #1aad19;
 background-color:transparent;
}
.selected{
 box-sizing: border-box;
 flex: 0 0 21%;
 margin: 5px 5px;
 height: 50px;
 background-color: #F75000;
 color: white;
}
.selected1{
 box-sizing: border-box;
 flex: 0 0 21%;
 margin: 5px 5px;
 height: 50px;
 background-color: transparent;
 border:1px solid #1aad19;
 color:#1aad19;
 background-image: url(https://wxcx.llzt.net/images/hot.png) ;
 background-position:31px 0px;
 background-repeat:no-repeat;
 background-size:62%;
}
.selected2{
 box-sizing: border-box;
 flex: 0 0 21%;
 margin: 5px 5px;
 height: 50px;
 background-color: #F75000;
 color: white;
 background-image: url(https://wxcx.llzt.net/images/hot.png);
 background-position:31px 0px;
 background-repeat:no-repeat;
 background-size:62%;
}

现在的方法把集合进行循环,然后获取当前点击的这个按钮进行比较,然后进行样式的修改

for (var i = 0; i < this.data.liuliangItems.length; i++) {
    if (e.target.dataset.orderid == this.data.liuliangItems[i].id) {
     txtArray1[i] = {
      id: this.data.liuliangItems[i].id, changeColor: true,
      price: this.data.liuliangItems[i].price, name: this.data.liuliangItems[i].name,
      one2one: this.data.liuliangItems[i].one2one
     }
    } else {
     txtArray1[i] = {
      id: this.data.liuliangItems[i].id, changeColor: false,
      price: this.data.liuliangItems[i].price, name: this.data.liuliangItems[i].name,
      one2one: this.data.liuliangItems[i].one2one
     }
    }
   }

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
DOM相关内容速查手册
Feb 07 Javascript
用js实现手把手教你月入万刀(转贴)
Nov 07 Javascript
基于jquery的blockui插件显示弹出层
Apr 14 Javascript
Javascript 实现复制(Copy)动作方法大全
Jun 20 Javascript
JQuery的ON()方法支持的所有事件罗列
Feb 28 Javascript
jquery+ajax实现注册实时验证实例详解
Dec 08 Javascript
JavaScript兼容浏览器FF/IE技巧
Aug 14 Javascript
Angular2 组件交互实例详解
Aug 24 Javascript
微信小程序getPhoneNumber获取用户手机号
Sep 29 Javascript
vue 页面加载进度条组件实例
Feb 05 Javascript
在小程序中使用Echart图表的示例代码
Aug 02 Javascript
简述vue路由打开一个新的窗口的方法
Nov 29 Javascript
jquery实现下拉框左右选择功能
Feb 21 #Javascript
jquery实现页面加载效果
Feb 21 #Javascript
vue2.0使用Sortable.js实现的拖拽功能示例
Feb 21 #Javascript
javascript 实现文本使用省略号替代(超出固定高度的情况)
Feb 21 #Javascript
详解JavaScript 中getElementsByName在IE中的注意事项
Feb 21 #Javascript
使用get方式提交表单在地址栏里面不显示提交信息
Feb 21 #Javascript
JavaScript中的this陷阱的最全收集并整理(没有之一)
Feb 21 #Javascript
You might like
遍历指定目录下的所有目录和文件的php代码
2011/11/27 PHP
基于initPHP的框架介绍
2013/04/18 PHP
编译PHP报错configure error Cannot find libmysqlclient under usr的解决方法
2014/06/27 PHP
asp.net和php的区别点总结
2019/10/10 PHP
js+数组实现网页上显示时间/星期几的实用方法
2013/01/18 Javascript
jQuery中die()方法用法实例
2015/01/19 Javascript
jQuery实现的背景动态变化导航菜单效果
2015/08/24 Javascript
JavaScript的设计模式经典之代理模式
2016/02/24 Javascript
jQuery实现的仿百度,仿谷歌搜索下拉框效果示例
2016/12/30 Javascript
jQuery弹出层插件popShow用法示例
2017/01/23 Javascript
js实现带简单弹性运动的导航条
2017/02/22 Javascript
js中的DOM模拟购物车功能
2017/03/22 Javascript
JavaScript用二分法查找数据的实例代码
2017/06/17 Javascript
Vue中父子组件通讯之todolist组件功能开发
2018/05/21 Javascript
详解javascript中的变量提升和函数提升
2018/05/24 Javascript
security.js实现的RSA加密功能示例
2018/06/06 Javascript
vue中使用sessionStorage记住密码功能
2018/07/24 Javascript
JavaScript时间日期操作实例小结【5个示例】
2018/12/22 Javascript
JS/jQuery实现获取时间的方法及常用类完整示例
2019/03/07 jQuery
javascript中正则表达式语法详解
2020/08/07 Javascript
[46:28]EG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.23
2019/09/05 DOTA
[45:18]完美世界DOTA2联赛循环赛 PXG vs IO 第二场 11.06
2020/11/09 DOTA
[01:12:40]DOTA2-DPC中国联赛 正赛 DLG vs XG BO3 第三场 1月25日
2021/03/11 DOTA
Python ftp上传文件
2016/02/13 Python
详解python 拆包可迭代数据如tuple, list
2017/12/29 Python
Python爬虫使用脚本登录Github并查看信息
2018/07/16 Python
Django 批量插入数据的实现方法
2020/01/12 Python
Python 日期的转换及计算的具体使用详解
2020/01/16 Python
python des,aes,rsa加解密的实现
2021/01/16 Python
美国南加州的原创极限运动潮牌:Vans(范斯)
2016/08/05 全球购物
历史系毕业生自荐信
2013/10/28 职场文书
党员自我评议对照检查材料
2014/09/27 职场文书
与死神共舞观后感
2015/06/15 职场文书
学习弘扬焦裕禄精神心得体会
2016/01/23 职场文书
解决numpy和torch数据类型转化的问题
2021/05/23 Python
Python基础 括号()[]{}的详解
2021/11/07 Python