Yuyy
Yuyy
  • 发布:2017-11-09 17:22
  • 更新:2017-11-09 17:44
  • 阅读:4415

请问 mui日期时间选择器,第二次点击能默认显示上一次点击选中的时间吗?

分类:MUI

现在mui的sample中,每次打开都是选中当前时间,我想设置为如果第一次选择了某个时间,第二次打开时,默认选中上次选中的时间。。该怎么去做?希望大神指教!

2017-11-09 17:22 负责人:无 分享
已邀请:
MUI_Charles

MUI_Charles

以下为dtpicker.html内的示例代码

(function($) {  
$.init();  
var result = $('#result')[0];  
var btns = $('.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 $.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);  
	});  
})(mui);

由于dtpicker被释放,所以下一次选择时的初始化时间被重置了。
所以只需注释dispose或者把上一次选择的时间保存在变量里,在下一次初始化时加入初始化参数beginDate即可。

该问题目前已经被锁定, 无法添加新回复