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


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框架
Aug 13 Javascript
javascript的创建多行字符串的7种方法
Apr 29 Javascript
setTimeout内不支持jquery的选择器的解决方案
Apr 28 Javascript
深入理解JavaScript中的浮点数
May 18 Javascript
JS 滚动事件window.onscroll与position:fixed写兼容IE6的回到顶部组件
Oct 10 Javascript
Vue keep-alive实践总结(推荐)
Aug 31 Javascript
JavaScript使用FileReader实现图片上传预览效果
Mar 27 Javascript
jQuery代码优化方法总结
Jan 29 jQuery
vue2.0学习之axios的封装与vuex介绍
May 28 Javascript
Angular4 Select选择改变事件的方法
Oct 09 Javascript
js实现纯前端压缩图片
Nov 16 Javascript
uniapp微信小程序:key失效的解决方法
Jan 20 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
Terran魔法科技
2020/03/14 星际争霸
ajax 的post方法实例(带循环)
2011/07/04 PHP
php排序算法实例分析
2016/10/17 PHP
jQuery.query.js 取参数的两点问题分析
2012/08/06 Javascript
JavaScript高级程序设计 阅读笔记(十七) js事件
2012/08/14 Javascript
深入理解javascript变量声明
2014/11/20 Javascript
ES6通过babel转码使用webpack使用import关键字
2016/12/13 Javascript
微信小程序动态的加载数据实例代码
2017/04/14 Javascript
jQuery删除/清空指定元素的所有子节点实例代码
2019/07/04 jQuery
node运行js获得输出的三种方式示例详解
2020/07/02 Javascript
Vue如何跨组件传递Slot的实现
2020/12/14 Vue.js
[00:27]DOTA2次级职业联赛 - Lilith战队宣传片
2014/12/01 DOTA
[01:07:19]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第一场 1月19日
2021/03/11 DOTA
Python中使用hashlib模块处理算法的教程
2015/04/28 Python
Pandas:DataFrame对象的基础操作方法
2018/06/07 Python
Selenium+Python 自动化操控登录界面实例(有简单验证码图片校验)
2019/06/28 Python
python常用函数与用法示例
2019/07/02 Python
Django中使用CORS实现跨域请求过程解析
2019/08/05 Python
python实现简单成绩录入系统
2019/09/19 Python
Python测试线程应用程序过程解析
2019/12/31 Python
解决Python在导入文件时的FileNotFoundError问题
2020/04/10 Python
python 数据库查询返回list或tuple实例
2020/05/15 Python
一文读懂Python 枚举
2020/08/25 Python
Python利用pip安装tar.gz格式的离线资源包
2020/09/14 Python
详解CSS3中nth-child与nth-of-type的区别
2017/01/05 HTML / CSS
html5 input属性使用示例
2013/06/28 HTML / CSS
HTML5页面中尝试调起APP功能
2017/09/12 HTML / CSS
微软台湾官方网站:Microsoft台湾
2018/08/15 全球购物
竞聘医务工作人员的自我评价分享
2013/11/04 职场文书
服装行业创业计划书范文
2014/02/05 职场文书
房地产财务部员工岗位职责
2014/03/12 职场文书
2015年个人自我剖析材料
2014/12/29 职场文书
2015年保洁工作总结范文
2015/04/28 职场文书
2015教师节通讯稿
2015/07/20 职场文书
Mybatis-plus在项目中的简单应用
2021/07/01 Java/Android
MySQL创建定时任务
2022/01/22 MySQL