记录一下,方便以后查找。
加上在后面加上on事件即可。
$('body').on('focus', 'input[name="tremTime"]', function(event) {
WdatePicker({skin:"whyGreen",dateFmt:"yyyy-MM-dd"});
});
2018-3-7 更新
遇到一个功能,要连续使用多个日期选择器,两个的时候,可以互为设置大小日期,但是大于两个就设置不了了
下面这段代码的核心就是
data-n 属性。在input框上加入这个属性每个input都按这个规律逐个增长,除了第一个和最后一个input框,每一个都是上下两个input框的最大选择日期和最小选择日期。
使用方法:把 firstDate(); 放到最后加载。如果所有input日期选择框都是动态从后台加载出来的,就放在append() 后面(注:这里append()是jq的插入方法)。
//限制日期选择框选择范围
function firstDate(){
var sectionArr = []; //定义数组,储存所有选择的日期
var num = 0;//data-n自增长
$('#timelum').on('focus','.ws-times',function(){//日期选择框focus事件
$('.ws-times').each(function(){//遍历所有日期选择框
num++;
$(this).attr('data-n','1'+num+'');//循环设置name
sectionArr.push($(this).val());//所选日期插入数组
});
$this = $(this);
var dataN = $this.attr('data-n');
var subName = Number(dataN.substring(1)) - 1;//获取data-n后缀数字,并减一方便作为下标查询
console.log(subName);
if(subName == 0){//日期选择框为第一个时不限制选择范围
WdatePicker({skin:"whyGreen",dateFmt:"HH:mm",maxDate:sectionArr[subName+1]});
}else{
WdatePicker({skin:"whyGreen",dateFmt:"HH:mm",minDate:sectionArr[subName-1],maxDate:sectionArr[subName+1]});//设置日期选择框最大最小选择范围(条件为前后input的值)
}
//清空已遍历数据,避免重复遍历添加
num = 0;
sectionArr = [];
});
};
function firstDate(){
var sectionArr = []; //定义数组,储存所有选择的日期
var num = 0;//data-n自增长
$('#timelum').on('focus','.ws-times',function(){//日期选择框focus事件
$('.ws-times').each(function(){//遍历所有日期选择框
num++;
$(this).attr('data-n','1'+num+'');//循环设置name
sectionArr.push($(this).val());//所选日期插入数组
});
$this = $(this);
var dataN = $this.attr('data-n');
var subName = Number(dataN.substring(1)) - 1;//获取data-n后缀数字,并减一方便作为下标查询
console.log(subName);
if(subName == 0){//日期选择框为第一个时不限制选择范围
WdatePicker({skin:"whyGreen",dateFmt:"HH:mm",maxDate:sectionArr[subName+1]});
}else{
WdatePicker({skin:"whyGreen",dateFmt:"HH:mm",minDate:sectionArr[subName-1],maxDate:sectionArr[subName+1]});//设置日期选择框最大最小选择范围(条件为前后input的值)
}
//清空已遍历数据,避免重复遍历添加
num = 0;
sectionArr = [];
});
};