微信小程序开发之checkbox以及js数据配置和事件处理
来源:互联网 发布:linux中rpm是什么意思 编辑:程序博客网 时间:2024/05/17 23:51
视频教程:http://v.youku.com/v_show/id_XMTczNzk2Mjk4MA==.html?from=s1.8-1-1.2&spm=0.0.0.0.UkDru7
checkbox
<checkbox-group> <checkbox value="key1" checked="true"/>value1 <checkbox value="key2" checked="false"/>value2 <checkbox value="key3" checked="true"/>value3 </checkbox-group>
事件分发和处理
上例中有3个checkbox,在实际项目中,你肯定会选择或者取消选择其中的checkbox,那么你如何获取你选择到的checkbox的数据呢?这就涉及到了事件的分发和处理。
微信小程序中,事件的分发系统已经帮我们做好了,我们只需要在checkbox-group配置bindchange="checkchange",那么事件就会分发大对应的***.js中的checkchange()方法处理,如下:
***.wxml
<checkbox-group bindchange="<span style="font-family: Arial, Helvetica, sans-serif;">checkboxChange</span><span style="font-family: Arial, Helvetica, sans-serif;">"></span> <checkbox value="key1" checked="true"/>value1 <checkbox value="key2" checked="false"/>value2 <checkbox value="key3" checked="true"/>value3 </checkbox-group>这里checkboxChange是自定义的名字,只要跟下面js的checkboxChange是一模一样就可以。
***.js
Page({ checkboxChange: function(e) { console.log('checkbox发生change事件,携带value值为:', e.detail.value) },})如此,你每次选择,或者取消选择checkbox,都会触发checkboxChange方法,然后打印出来所有选择的数据(即e.detail.value)到控制台。
数据的配置
在上面的***.js的Page({})中,处理可以定义事件的处理方法,还可以配置数据。配置数据严格要求以data标签开头,如下
Page({ data: { key1:"key1", value1: 'value1', key2:"key2", value2:"value2" }, checkboxChange: function(e) { console.log('checkbox发生change事件,携带value值为:', e.detail.value) },})如果我们的数据在***.js中的data里面配置了,那么我们可以这么修改***.wxml中的checkbox标签里的数据:
<checkbox-group bindchange="checkboxChange"> <checkbox value="{{key1}}" checked="true"/>{{value1}} <checkbox value="{{key2}}" checked="false"/>{{value2}} <checkbox value="key3" checked="true"/>value3 </checkbox-group>用{{}}把data中对应的数据包起来,也可以得到一样的效果。
但是一般这种情况下,我们会考虑把数据设置为数组的形式,并在标签中循环加载出来。
data配置数组:
Page({ data: { items: [ {name: 'USA', value: '美国'}, {name: 'CHN', value: '中国'}, {name: 'BRA', value: '巴西'}, ] }, checkboxChange: function(e) { console.log('checkbox发生change事件,携带value值为:', e.detail.value) },})这里请注意,我把key和value稍微做了修改,对应的***.wxml也要修改。
<checkbox-group bindchange="checkboxChange"> <block class="checkbox" wx:for="{{items}}"> <checkbox value="{{item.name}}"/>{{item.value}} </block> </checkbox-group>这里我用了block来做循环,官方用的label标签,这都是辅助标签,不表示任何意义哈。
***.js的items对应了***.wxml的items。每一组元素以item.的形式取出。
视频教程:http://v.youku.com/v_show/id_XMTczNzk2Mjk4MA==.html?from=s1.8-1-1.2&spm=0.0.0.0.UkDru7
checkbox
<checkbox-group> <checkbox value="key1" checked="true"/>value1 <checkbox value="key2" checked="false"/>value2 <checkbox value="key3" checked="true"/>value3 </checkbox-group>
事件
上例中有3个checkbox,在实际项目中,你肯定会选择或者取消选择其中的checkbox,那么你如何获取你选择到的checkbox的数据呢?这就涉及到了事件的分发和处理。
微信小程序中,事件的分发系统已经帮我们做好了,我们只需要在checkbox-group配置bindchange="checkchange",那么事件就会分发大对应的***.js中的checkchange()方法处理,如下:
***.wxml
<checkbox-group bindchange="<span style="font-family: Arial, Helvetica, sans-serif;">checkboxChange</span><span style="font-family: Arial, Helvetica, sans-serif;">"></span> <checkbox value="key1" checked="true"/>value1 <checkbox value="key2" checked="false"/>value2 <checkbox value="key3" checked="true"/>value3 </checkbox-group>这里checkboxChange是自定义的名字,只要跟下面js的checkboxChange是一模一样就可以。
***.js
Page({ checkboxChange: function(e) { console.log('checkbox发生change事件,携带value值为:', e.detail.value) },})如此,你每次选择,或者取消选择checkbox,都会触发checkboxChange方法,然后打印出来所有选择的数据(即e.detail.value)到控制台。
- 微信小程序开发之checkbox以及js数据配置和事件处理
- JS事件-事件处理程序之IE事件处理程序
- JS事件--事件处理程序之HTML事件处理程序
- JS事件--事件处理程序之DOM2事件处理程序
- js 事件处理程序
- JS-事件处理程序
- JS事件处理程序
- js--事件--事件处理程序
- js--事件--事件处理程序
- JS事件-事件处理程序之跨浏览器事件处理程序
- JS事件-事件处理程序之DOM0级事件处理程序
- JS中的事件委托和移除事件处理程序
- JS之事件处理
- js权威指南之事件和事件处理
- js checkbox全选和取消的事件
- js添加事件处理程序
- JS DOM事件处理程序
- JS的事件处理程序
- 网络框架-NoHttp
- Mybatis批处理命令
- 如何搭建完整的手机视频直播系统
- ajax(json)请求发送至后台的接收处理
- Qt事件循环、IO、基于libev的Qt事件循环
- 微信小程序开发之checkbox以及js数据配置和事件处理
- 学习与使用 PRINCE2项目管理方法的收益——上海信息化培训中心
- 字符串计数-复杂的动态规划题 解析以及Java代码实现
- fanxuan
- hadoop 学习笔记:mapreduce框架详解
- 微信支付JSAPI模式及退款CodeIgniter集成篇
- 关于Error.captureStackTrace
- CocoPod的安装使用
- 深入JVM类加载器