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


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 相关文章推荐
用js查找法实现当前栏目的高亮显示的代码
Nov 24 Javascript
JavaScript随机排序(随即出牌)
Sep 17 Javascript
javascript判断两个IP地址是否在同一个网段的实现思路
Dec 13 Javascript
javascript实现uploadify上传格式以及个数限制
Nov 23 Javascript
jQuery+Ajax实现限制查询间隔的方法
Jun 07 Javascript
jQuery实现简单的网页换肤效果示例
Sep 18 Javascript
bootstrap table 多选框分页保留示例代码
Mar 08 Javascript
p5.js 毕达哥拉斯树的实现代码
Mar 23 Javascript
详解vue 计算属性与方法跟侦听器区别(面试考点)
Apr 23 Javascript
vue-better-scroll 的使用实例代码详解
Dec 03 Javascript
js实现文字头像的生成代码
Mar 07 Javascript
使用Element的InfiniteScroll 无限滚动组件报错的解决
Jul 27 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中的日期及时间
2006/11/23 PHP
php 操作调试的方法
2012/07/12 PHP
PHP 5.3新增魔术方法__invoke概述
2014/07/23 PHP
PHP PDOStatement::getAttribute讲解
2019/02/01 PHP
Ext grid 添加右击菜单
2009/11/26 Javascript
JS 精确统计网站访问量的实例代码
2013/07/05 Javascript
目前流行的JavaScript库的介绍及对比
2013/09/29 Javascript
js获取元素外链样式的方法
2015/01/27 Javascript
jQuery手动点击实现图片轮播特效
2020/04/20 Javascript
jquery+json实现动态商品内容展示的方法
2016/01/14 Javascript
BootStrap入门教程(三)之响应式原理
2016/09/19 Javascript
深入理解基于vue-cli的vuex配置
2017/07/24 Javascript
IE9 elementUI文件上传的问题解决
2018/10/17 Javascript
JavaScript的级联函数用法简单示例【链式调用】
2019/03/26 Javascript
微信小程序位置授权处理方法
2019/06/13 Javascript
[05:36]DOTA2 2015国际邀请赛中国区预选赛第四日TOP10
2015/05/29 DOTA
[01:04:06]DOTA2上海特级锦标赛A组资格赛#2 Secret VS EHOME第一局
2016/02/26 DOTA
python基于xml parse实现解析cdatasection数据
2014/09/30 Python
python实现QQ批量登录功能
2019/06/19 Python
Pytorch根据layers的name冻结训练方式
2020/01/06 Python
flask框架渲染Jinja模板与传入模板变量操作详解
2020/01/25 Python
详解基于Jupyter notebooks采用sklearn库实现多元回归方程编程
2020/03/25 Python
简单了解python调用其他脚本方法实例
2020/03/26 Python
如何在django中运行scrapy框架
2020/04/22 Python
Python实现CAN报文转换工具教程
2020/05/05 Python
HTML+CSS3模拟心的跳动实例代码
2017/09/05 HTML / CSS
澳大利亚领先的在线美容商城:Adore Beauty
2017/04/14 全球购物
2014自荐信的写作技巧
2014/01/28 职场文书
优秀毕业自我鉴定
2014/02/15 职场文书
小组名称和口号
2014/06/09 职场文书
员工生日活动方案
2014/08/24 职场文书
2015年幼儿园后勤工作总结
2015/04/25 职场文书
小学生运动会广播
2015/08/19 职场文书
七年级作文之游记
2019/12/11 职场文书
浅谈Golang 切片(slice)扩容机制的原理
2021/06/09 Golang
mysql查询结果实现多列拼接查询
2022/04/03 MySQL