【发布时间】:2018-04-01 09:27:28
【问题描述】:
我想根据用户在其中一个输入框中输入的日期禁用 jQuery UI 日期选择器中的某些日期。
如果我输入 MWF,它应该只允许我选择落在 "M"onday 或 "W" 的日期ednesday ot "F"riday
我能够动态构造需要在返回语句中设置的返回值字符串。
for (var j=0; j < arr.length; j++)
mystr = mystr + "day != " + arr[j] + " && ";
mystr = mystr.substring(0, mystr.length - 3);
这给了我 mystr 变量中的以下文本:
day != 3 && day != 4 && day != 6
需要像这样传递给return语句:
$("#datepicker").datepicker({
beforeShowDay: function(date) {
var day = date.getDay();
return [(mystr)];
}
});
这行不通....
如果我在 return 语句中明确设置它,我可以禁用我想要的天数。但我需要根据在文本框中输入的天数动态限制日期选择器中的天数选择。我可以动态获取日期,还可以准备好动态退货声明。它不工作。
完整代码:
var batchdays = ['M', 'T', 'W', 'H', 'F', 'S'];
var batchcode= "MWF";
var batchdaysarray = batchcode.replace(/\d+/g, '').split('');
var arr = [];
var arrayLength = batchdaysarray.length;
for (var i = 0; i < arrayLength; i++) {
if ($.inArray(batchdaysarray[i], batchdays) != -1) {
arr.push($.inArray(batchdaysarray[i], batchdays)+1);
}
}
var mystr = '';
for (var j=0; j < arr.length; j++)
mystr = mystr + "day != " + arr[j] + " && ";
mystr = mystr.substring(0, mystr.length - 3);
alert(mystr);
console.log(mystr);
$('#actual_start_dt').datepicker({
dateFormat: 'dd-mm-yy',
prevText: '<i class="fa fa-chevron-left"></i>',
nextText: '<i class="fa fa-chevron-right"></i>',
beforeShowDay: function(date) {
var day = date.getDay();
return [(mystr)];
}
});
请帮忙
【问题讨论】:
标签: jquery jquery-ui datepicker jquery-ui-datepicker