MUI picker选择器实现下拉菜单和时间选择器

<!DOCTYPE html>
<html>

	<head>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
		<title></title>
		<!--标准mui.css-->
		<link rel="stylesheet" href="css/mui.min.css">
		
		<link href="css/mui.poppicker.css" rel="stylesheet" />
		<link rel="stylesheet" type="text/css" href="css/mui.picker.min.css" />
		<style>
			.mui-btn {
				font-size: 16px;
				padding: 8px;
				/* margin: 3px; */
			}
			h5.mui-content-padded {
				margin-left: 3px;
				margin-top: 20px !important;
			}
			h5.mui-content-padded:first-child {
				margin-top: 12px !important;
			}
			.ui-alert {
				text-align: center;
				padding: 20px 10px;
				font-size: 16px;
			}
		</style>
	</head>

	<body>
		<header class="mui-bar mui-bar-nav">
			<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
			<h1 class="mui-title">picker(选择器)</h1>
		</header>
		<div class="mui-content">
			<div class="mui-content-padded">

				<br />

				<h5 class="mui-content-padded">普通示例</h5>

				<div id='userResult' class="ui-alert"></div>
				<div>
					<label>Input</label>
					<button id='showUserPicker' class="mui-btn mui-btn-block" type='button'>一级选择示例 ...</button>
					<button id='demo4' data-options='{"type":"date"}' class="btn mui-btn mui-btn-block">选择日期 ...</button>
					<div id='result' class="ui-alert"></div>
				</div>
			</div>
		</div>
		<script src="js/mui.min.js"></script>
		<!--<script src="../js/mui.picker.min.js"></script>-->
		<script src="js/mui.picker.min.js"></script>
		<script src="js/mui.poppicker.js"></script>
		<script>
			(function($, doc) {
				$.init();
				$.ready(function() {



					

				});
			})(mui, document);


			//普通示例
			var userPicker = new mui.PopPicker();
			userPicker.setData([{
				value: 'ywj',
				text: '董事长 叶文洁'
			}, {
				value: 'aaa',
				text: '总经理 艾AA'
			}, {
				value: 'lj',
				text: '罗辑'
			}, {
				value: 'ymt',
				text: '云天明'
			}, {
				value: 'shq',
				text: '史强'
			}, {
				value: 'zhbh',
				text: '章北海'
			}, {
				value: 'zhy',
				text: '庄颜'
			}, {
				value: 'gyf',
				text: '关一帆'
			}, {
				value: 'zhz',
				text: '智子'
			}, {
				value: 'gezh',
				text: '歌者'
			}]);
			var showUserPickerButton = document.getElementById('showUserPicker');
			var userResult = document.getElementById('showUserPicker');
			showUserPickerButton.addEventListener('tap', function(event) {
				userPicker.show(function(items) {
					userResult.innerText = JSON.stringify(items[0].text);
					//返回 false 可以阻止选择框的关闭
					//return false;
				});
			}, false);
			
			
			
			var result = mui('#demo4')[0];
			var btns = mui('.btn');
			btns.each(function(i, btn) {
				btn.addEventListener('tap', function() {
					var _self = this;
					if (_self.picker) {
						_self.picker.show(function(rs) {
							result.innerText = '选择结果: ' + rs.text;
							_self.picker.dispose();
							_self.picker = null;
						});
					} else {
						var optionsJson = this.getAttribute('data-options') || '{}';
						var options = JSON.parse(optionsJson);
						var id = this.getAttribute('id');
						/*
						 * 首次显示时实例化组件
						 * 示例为了简洁,将 options 放在了按钮的 dom 上
						 * 也可以直接通过代码声明 optinos 用于实例化 DtPicker
						 */
						_self.picker = new mui.DtPicker(options);
						_self.picker.show(function(rs) {
							/*
							 * rs.value 拼合后的 value
							 * rs.text 拼合后的 text
							 * rs.y 年,可以通过 rs.y.vaue 和 rs.y.text 获取值和文本
							 * rs.m 月,用法同年
							 * rs.d 日,用法同年
							 * rs.h 时,用法同年
							 * rs.i 分(minutes 的第二个字母),用法同年
							 */
							result.innerText = '选择结果: ' + rs.text;
							/* 
							 * 返回 false 可以阻止选择框的关闭
							 * return false;
							 */
							/*
							 * 释放组件资源,释放后将将不能再操作组件
							 * 通常情况下,不需要示放组件,new DtPicker(options) 后,可以一直使用。
							 * 当前示例,因为内容较多,如不进行资原释放,在某些设备上会较慢。
							 * 所以每次用完便立即调用 dispose 进行释放,下次用时再创建新实例。
							 */
							_self.picker.dispose();
							_self.picker = null;
						});
					}
			
				}, false);
			})
			
		</script>
	</body>

</html>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值