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


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多级树形弹出一个小窗口层(非常好用)实例代码
Mar 19 Javascript
jQuery的each终止或跳过示例代码
Dec 12 Javascript
Javascript设置对象的ReadOnly属性(示例代码)
Dec 25 Javascript
javascript实现点击按钮弹出一个可关闭层窗口同时网页背景变灰的方法
May 13 Javascript
jQuery实现获取绑定自定义事件元素的方法
Dec 02 Javascript
基于jQuery实现点击最后一行实现行自增效果的表格
Jan 12 Javascript
WordPress 单页面上一页下一页的实现方法【附代码】
Mar 10 Javascript
Extjs gridpanel 中的checkbox(复选框)根据某行的条件不能选中的解决方法
Feb 17 Javascript
JavaScript实现类似淘宝的购物车效果
Mar 16 Javascript
JQuery模拟实现网页中自定义鼠标右键菜单功能
Nov 14 jQuery
微信小程序如何使用globalData的方法
Jun 06 Javascript
详解vue中的父子传值双向绑定及数据更新问题
Jun 13 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
phplock(php进程锁) v1.0 beta1
2009/11/24 PHP
php实现约瑟夫问题的方法小结
2015/03/23 PHP
php curl请求信息和返回信息设置代码实例
2015/04/27 PHP
Laravel搭建后台登录系统步骤详解
2016/07/26 PHP
php基于curl重写file_get_contents函数实例
2016/11/08 PHP
PHP执行shell脚本运行程序不产生core文件的方法
2016/12/28 PHP
PHP实现的分页类定义与用法示例
2017/07/05 PHP
PHPstorm激活码2020年5月13日亲测有效
2020/09/17 PHP
JavaScript 事件属性绑定带参数的函数
2009/03/13 Javascript
(function($){...})(jQuery)的意思
2010/07/22 Javascript
Jquery获取和修改img的src值的方法
2014/02/17 Javascript
JavaScript代码复用模式详解
2014/11/07 Javascript
浅析Javascript中“==”与“===”的区别
2014/12/23 Javascript
jQuery实现页面内锚点平滑跳转特效的方法总结
2015/05/11 Javascript
Bootstrap源码解读标签、徽章、缩略图和警示框(8)
2016/12/26 Javascript
老生常谈js数据类型
2017/08/03 Javascript
新手vue构建单页面应用实例代码
2017/09/18 Javascript
浅谈angular4实际项目搭建总结
2017/12/01 Javascript
解决vue+webpack打包路径的问题
2018/03/06 Javascript
element-ui upload组件多文件上传的示例代码
2018/10/17 Javascript
JS使用H5实现图片预览功能
2019/09/30 Javascript
探索node之事件循环的实现
2020/10/30 Javascript
[06:53]2018DOTA2国际邀请赛寻真——勇于创新的Vici Gaming
2018/08/14 DOTA
通过cmd进入python的实例操作
2019/06/26 Python
python openCV获取人脸部分并存储功能
2019/08/28 Python
python接口自动化如何封装获取常量的类
2019/12/24 Python
Python HTMLTestRunner库安装过程解析
2020/05/25 Python
python文件读取失败怎么处理
2020/06/23 Python
Python3.7安装PyQt5 运行配置Pycharm的详细教程
2020/10/15 Python
《陶罐和铁罐》教学反思
2014/02/19 职场文书
交通志愿者活动总结
2014/06/27 职场文书
佛光寺导游词
2015/02/10 职场文书
mysql 8.0.24版本安装配置方法图文教程
2021/05/12 MySQL
SpringBoot+VUE实现数据表格的实战
2021/08/02 Java/Android
聊聊redis-dump工具安装问题
2022/01/18 Redis
python使用opencv对图像添加噪声(高斯/椒盐/泊松/斑点)
2022/04/06 Python