关于jquery-weui.js中时间控件datetimepicker的使用

本文介绍如何解决使用jquery-weui时遇到的日期选择器动态更新问题,通过重新初始化组件来实现截止日期随开始日期变化的逻辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  今天第一次接触jquery-weui,不太了解用法,然而官方文档写的也很简略,只好打开源代码进行研究,我想要的是设置开始日期大于当前日期,然后在源码中发现有min这个默认为undefined的属性,于是在设置

启动$("#starttime").datetimePicker()的时候里面加了一个参数param,一般来说这种参数都是json格式,于是

var nTime = new Date();
var format = nTime.getFullYear() + "-" + (nTime.getMonth()+1) + "-" + nTime.getDate() + " " + (nTime.getHours()) + ":" + nTime.getMinutes();
var param = {'min':format};
$("#starttime").datetimePicker(param);

 

  设置完开始日期之后就是动态设置截止日期,要让截止日期大于开始日期,我在<input id="starttime">里面添加了onChange="setMinTime()"这个事件,修改的时候就获取$("#starttime")的值,再进行拼接字符串获得我需要的日期格式,完成进行测试才发现和自己想象的完全不同,先贴一下之前的代码

$("#endtime").datetimePicker({'min':year + "-" + month + "-" + day + " " + hour + ":" + minute});

  反复调试发现方法是进入了的,这句话也是执行了的,怎么就不能重新设置呢?而且奇怪的是,min这个属性只被第一次赋值了,想了好久突然想到可能是初始化的时候就已经确定了不能修改,这个也解释了为什么这个的值和第一次相同,抱着试一试的心态,我只好用笨办法

$("label[for='endtime']").parent().siblings("input").remove();
$("label[for='endtime']").parent().parent().append('<input class="weui_input" id="endtime" name="endtime" value="" placeholder="请选择结束日期"/>');
$("#endtime").datetimePicker({'min':year + "-" + month + "-" + day + " " + hour + ":" + minute});

  结果这样先删除,再添加,最后设置的方法真的成功了~原来初始化后就不能改变其属性了,也不知道是不是自己没有找到正确的打开方式,如果有希望留言告知

 

转载于:https://www.cnblogs.com/zmc-change/p/5640995.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值