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
    评论
### 回答1: 据了解,苹果于2020年9月15日发布的iOS 14中,引入了一种叫做“特定地区设置”的新功能,该功能会根据用户所在的地理位置,限制部分应用的可用范围。在某些地区,该设置可能会影响mui.picker选择器在iPhone 12上的正常使用。 此外,苹果在12系列中进行了诸多技术和硬件方面的升级,这可能会导致mui.picker选择器未作出相应更改,无法与新的硬件设备进行兼容。因此,选择器使用者可能需要更新选择器的版本或等待厂商发布更新版本。 然而,需要注意的是,以上分析仅仅是对此问题的一种猜测,并未得到官方的确认。还需交流合作,共同解决此类问题。 ### 回答2: 据我们了解,最近在使用 mui.picker 选择器时发现苹果12无法正常选择的情况确实存在。这个问题主要出现在 iOS 14 系统上,尤其是在苹果12设备上。实际上,mui.picker 选择器是基于浮动层实现的,而由于 iOS 14 在设计上进行了调整,导致了选择器无法弹出。 如果使用mui.picker选择器无法选择的话,我们可以尝试使用其它替代方案,比如常规的HTML表单元素、jQuery、zepto插件等。如果非要使用mui.picker选择器的话,我们可以尝试将mui.picker插件更新至最新版,或者自行调整插件代码以适应 iOS 14 的设计变化。 还有一种方法是使用H5的input[type="date"],它的UI也很好看,适用于弹窗中使用。 总之,由于这个问题的根本原因是 iOS 14 系统在设计上出现了问题,因此我们只能通过调整插件代码或者使用其它解决方案来解决这个问题。希望我们的回答能够帮到你,如果还有其他问题,请随时让我们知道。 ### 回答3: mui.picker选择器是一款非常受欢迎的前端开发工具,它可以很好地实现数据选择的功能。然而,在苹果12上,用户在使用该工具时可能会发现无法正常选择数据的情况。 这主要是由于苹果12的操作系统更新,导致mui.picker选择器与操作系统之间的兼容性出现了问题。虽然该问题可能会给一些开发者带来困扰,但是这并不意味着mui.picker选择器已经不适用于苹果12了。实际上,开发者可以通过一些调试和优化的方法来解决这个问题。 首先,开发者可以尝试更新mui.picker选择器的版本,以确保它可以与最新的操作系统兼容。如果这种方法没有效果,那么开发者还可以尝试寻找其他类似的数据选择工具,如各种插件程序和组件库,来替代mui.picker选择器实现数据选择功能。当然,这些替代方案需要进行充分的测试和验证,以确保它们可以完美地和苹果12的操作系统兼容。 总之,对于苹果12上使用mui.picker选择器无法选择数据的问题,开发者可以通过更新版本、替代方案等多种方法来解决。毕竟,随着科技的日益发展,前端开发工具和技术也在不断更新和进化,做好更新和迭代将能更好地服务于用户。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值