layuilaydate⾃制简单多选⽇历(JS控件)
公司最近需要做⼀个⽇历,所⽤的框架是layui,听完需求以后我就觉得要凉,因为laydate做这个并不好做。
所以虽然我这边实现了⼀个简易的layui-calendar,但我奉劝还没开始的各位,选⽤其它控件可能更合适些。
如果只能选⽤,那希望我的这篇⽂章能给你启迪。
⾸先,可以到我的github上去下载这个控件的源码,
这⾥我简单解释⼀下,借⽤laydate中options的mark来实现。
mark属性需要对应的json值,在源码中通过传⼊相应的json来实现⽇历的初始化,然后在点选的时候也是通过更改这个json值来实现着⾊。
mark默认的样式是laydate-day-mark,通过重写这个样式,就可以实现着⾊了。
如果你需要全选当前页的这个⽉的所有⽇⼦,可以通过⼀下代码来实现,github上的源码没有这块。
function allPick(){
var ym = $('.laydate-theme-grid .laydate-set-ym').find('span').eq(0).attr('lay-ym').split('-')
var dnum = getCountDays(ym)
for (var i = 1; i <= 9; i++) {
data[ym[0] + '-' + ym[1] + '-0' + i] = ''
}
for (var i = 10; i <= dnum; i++) {
data[ym[0] + '-' + ym[1] + '-' + i] = ''
}
$('#test-n2').html('');
loding_date(new Date([ym[0] + '-' + ym[1] + '-' + dnum]), data);
}
//获取某⽉有多少天
function getCountDays(ym) {
var curDate = new Date(ym);
var curMonth = Month(); curDate.setMonth(curMonth + 1); curDate.setDate(0);
Date();layui下载
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论