效果图:求赞赞
代码部分
<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">
<!--App自定义的css-->
<link rel="stylesheet" type="text/css" href="css/app.css" />
<!--<link href="../css/mui.picker.css" rel="stylesheet" />
<link href="../css/mui.dtpicker.css" rel="stylesheet" />-->
<link rel="stylesheet" type="text/css" href="css/mui.poppicker.css" />
<link rel="stylesheet" type="text/css" href="css/mui.picker.min.css" />
<style>
.mui-btn-block{
padding:0;
}
.btn{
width: 100%;
height: 30px;
}
</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">dtpicker(日期时间选择器)</h1>
</header>
<div class="mui-content">
<div class="mui-content-padded">
<h5 class="mui-content-padded">指定类型</h5>
<div id='result' data-options='{"type":"date"}' class="btn mui-btn mui-btn-block" >日期选择</div>
<div id="address" class=" mui-btn mui-btn-block">地区选择</div>
</div>
</div>
<script src="js/mui.min.js"></script>
<!-- <script src="../js/mui.picker.js"></script>-->
<script src="js/mui.dtpicker.js"></script>
<script src="js/mui.picker.min.js"></script>
<script src="js/city.data-3.js"></script>
<script src="js/mui.poppicker.js"></script>
<script>
(function($) {
$.init();
var result = $('#result')[0];
var btns = $('.btn');
var address=$('#address')[0];
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 $.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);
});
var city = '';
var address = document.getElementById("address");
address.addEventListener('tap',function(){
var city_picker = new mui.PopPicker({
layer:3 //插件显示的列数
});
city_picker.setData(cityData3);//显示的内容,json格式。
city_picker.show(function(items) {//弹出列表并在里面写业务代码。
if((items[0] || {}).text == undefined) {
(items[0] || {}).text = "";
} else if((items[1] || {}).text == undefined) {
(items[1] || {}).text = "";
} else if((items[2] || {}).text == undefined) {
(items[2] || {}).text = "";
}
city = (items[0] || {}).text + "-" + (items[1] || {}).text + "-" + (items[2] || {}).text;
console.log(city);
address.innerText =city
});
})
})(mui);
</script>
</body>