我正在初始化jquery ui的datepicker如下:
var datesArray=['3/7/2016','3/12/2016']
$('#datepicker').datepicker({
inline: true,
beforeShowDay: function (date) {
var theday = (date.getMonth()+1) +'/'+
date.getDate()+ '/' +
date.getFullYear();
return [true,$.inArray(theday, datesArray) >=0 ? "specialDate":''];
}
});
这会创建一个日历,其中specialDate
类应用于datesArray
中的所有日期。
此外,我需要在初始化datepicker时向这些相同的日期添加一个唯一的数据属性值(类似data-value="39"
),但我不知道如何选择日期。
我可以使用像
这样的东西var datavalues = {
"3/7/2016" : "38",
"3/12/2016" : "39"
};
其中38
和39
是data-value
s。
关于adding a custom parameter的这个问题让我很接近,但我不确定如何使用它来在创建时添加数据属性。
答案 0 :(得分:1)
创建日期选择器时,您无法使用.data()
或数据属性执行此操作。你可以这样使用onSelect
:
工作示例:https://jsfiddle.net/ha5zgvby/
<强> HTML 强>
<p>Date:
<input type="text" id="datepicker" />
</p>
<p>Stuff:
<input type="text" id="special" />
</p>
<强> JQuery的强>
var datavalues = {
"03/07/2016": "38",
"03/12/2016": "39"
};
$(function() {
var $result = $("#special");
$('#datepicker').datepicker({
inline: true,
onSelect: function(dt, obj) {
$result.val(datavalues[dt]);
},
altField: "#result"
});
});
选择日期时,会向函数传递所选的值。如果该值在您的对象中作为索引,那么您可以以某种方式使用它。