datePicker 日期时间选择
优质
小牛编辑
135浏览
2023-12-01
datePicker
日期选择或者时间选择
使用方法
AlipayJSBridge.call('datePicker', {
beginDate: '2016-10-10',
minDate: '2016-10-9',
maxDate: '2017-10-9',
mode: 1,
}, function(e) {
alert(JSON.stringify(e));
});
AlipayJSBridge.call('datePicker', {
minDate: '2015-1-1 0:0:0',
maxDate: '2050-1-1 0:0:0',
mode: 2
},function(e) {
console.log(e);
});
代码演示
不同模式下的日期/时间选择
<h1>点击按钮查看各个模式下日期选择</h1>
<a href="javascript:void(0)" class="btn date">选择日期</a>
<a href="javascript:void(0)" class="btn time">选择时间</a>
<a href="javascript:void(0)" class="btn datetime">选择日期+时间</a>
<script>
function ready(callback) {
// 如果jsbridge已经注入则直接调用
if (window.AlipayJSBridge) {
callback && callback();
} else {
// 如果没有注入则监听注入的事件
document.addEventListener('AlipayJSBridgeReady', callback, false);
}
}
ready(function(){
document.querySelector('.date').addEventListener('click', function() {
AlipayJSBridge.call('datePicker', {
beginDate: '2016-10-10',
minDate: '2016-10-9',
maxDate: '2017-10-9',
mode: 1,
}, function(e) {
alert(JSON.stringify(e));
});
});
document.querySelector('.time').addEventListener('click', function() {
AlipayJSBridge.call('datePicker', {
mode: 0,
}, function(e) {
alert(JSON.stringify(e));
});
});
document.querySelector('.datetime').addEventListener('click', function() {
AlipayJSBridge.call('datePicker', {
minDate: '2016-10-9',
maxDate: '2017-10-9',
beginDate: '2016-10-9',
mode: 2,
}, function(e) {
alert(JSON.stringify(e));
});
});
});
</script>
查看演示 扫码查看 用支付宝扫码运行身份证日期选择
<h1>点击按钮选择身份证有效期</h1>
<a href="javascript:void(0)" class="btn date">选择日期</a>
<script>
function ready(callback) {
// 如果jsbridge已经注入则直接调用
if (window.AlipayJSBridge) {
callback && callback();
} else {
// 如果没有注入则监听注入的事件
document.addEventListener('AlipayJSBridgeReady', callback, false);
}
}
ready(function(){
document.querySelector('.date').addEventListener('click', function() {
AlipayJSBridge.call('datePicker', {
beginDate: '2015-10-12',
minDate: '2015-10-09',
maxDate: '2016-10-09',
mode: 1,
isIDCard: true
}, function(e) {
alert(JSON.stringify(e));
})
});
});
</script>
查看演示 扫码查看 用支付宝扫码运行API
AlipayJSBridge.call('datePicker', {
mode, beginDate, minDate, maxDate, isIDCard
}, fn);
入参
名称 | 类型 | 描述 | 必选 | 默认值 | 版本 |
---|---|---|---|---|---|
mode | number | 0: HH:mm:ss, 1: yyyy-MM-dd, 2: yyyy-MM-dd HH:mm:ss | N | 1 | |
beginDate | string | 默认选择的日期/时间,不设置默认为当前系统时间 | N | ‘’ | |
minDate | string | 最小日期/时间,必须小于beginDate | N | ‘’ | |
maxDate | string | 最大日期/时间,必须大于beginDate | N | ‘’ | |
isIDCard | bool | 是否是身份证模式 | N | ||
fn | function | 回调函数 | N | 不限 |
出参
回调函数带入的参数result: {error, date}
名称 | 类型 | 描述 | 版本 |
---|---|---|---|
error | int | 错误码(11:用户取消)) | |
date | string | 选择的日期/时间字符串 |
使用注意
- mode虽然以日期格式字符串表示,但是并不是说返回的格式是这样的,返回的格式是根据系统格式决定的,比如返回日期可能是2016-10-10。也就是说,它的作用是决定选择什么。
- 选择时间(mode=1),或选择日期+时间(mode=2)时,不支持对秒的选择界面,返回结构中的秒数被置为00
- 如果要通过代码隐藏日期选择,请使用
AlipayJSBridge.call('hideDatePicker')
; minDate
,maxDate
,beginDate
并不只是日期,还可以是时间。isIDCard
的作用是让我们可以选择长期,英文系统下是**Long Term,公民在46周岁后领取身份证,有效期是长期。- 特别注意,安卓下传入参数的时候,必须做到
beginDate >= minDate
以及beginDate <= maxDate
,否则会报参数错误。