Javascript 在Dojo日历小部件中选择多个日期
我目前正在使用dojo日历小部件,如 我的要求是:Javascript 在Dojo日历小部件中选择多个日期,javascript,json,dojo,Javascript,Json,Dojo,我目前正在使用dojo日历小部件,如 我的要求是: 选择多个日期以将所选日期标记为假日,并将其保存在DB中 将所选日期作为JSON或数组推送 选择日期后,需要用某种颜色标记背景色,以确认已选择日期 取消选择后,需要将背景色更改回白色,以确认其未选择 如何做到这一点? 我非常感激你的帮助 -Vinoth您可以尝试以下方法: <head> <script type="text/javascript"> var selectedDates = {};
<head>
<script type="text/javascript">
var selectedDates = {};
</script>
</head>
<body class="soria">
<style type="text/css">
@import "dojox/widget/Calendar/Calendar.css";
</style>
<div dojoType="dojox.widget.Calendar">
<script type="dojo/connect" event="onValueSelected" args="date">
if (!selectedDates[date]) {
selectedDates[date] = 1;
} else {
delete selectedDates[date];
}
var list = dojo.byId("selectedDates");
dojo.attr(list, "innerHTML", "");
for (var date in selectedDates) {
if (selectedDates.hasOwnProperty(date)) {
dojo.create("li", {"innerHTML":date}, list);
}
}
</script>
</div>
<ul id="selectedDates"></ul>
</body>
var selectedDates={};
@导入“dojox/widget/Calendar/Calendar.css”;
如果(!selectedDates[日期]){
所选日期[日期]=1;
}否则{
删除所选日期[日期];
}
var list=dojo.byId(“selectedDates”);
attr(列表,“innerHTML”,“”);
for(所选日期中的var日期){
如果(已选择日期hasOwnProperty(日期)){
create(“li”,{“innerHTML”:date},list);
}
}
我还没有弄清楚如何保持选定单元格的颜色,但这应该是可行的…有一个实验性小部件感谢您指出MultiSelectCalendar小部件。但这在dojo 1.7中可用,我使用dojo 1.6:(我的客户在不久的将来不会批准1.7。有没有办法用某种颜色突出显示所选日期?嘿,看起来很棒!@Vinoth:也许你可以看看这个新的小部件代码,并在你的1.6版本上重新实现着色部分?!我还没有看过,所以我不知道这有多困难…@Vinoth,你可以试试我的版本。)看到一些旧的补丁,我认为它最初是针对Dojo 1.6.Hmm设计的。顺便问一下,我可以从1.7主干中单独使用multiSelectCalendar.js并将其与1.6合并吗?这会起作用吗?或者需要做一些额外的事情才能使它起作用吗?据我所知,Dojo中必须做一些事情.js I guess.IIRC,MultiSelectCalendar使用私有API,在1.6/1.7版本中不兼容,因为在该版本中对Calendar进行了重大重构。非常感谢您提供的解决方案。工作非常完美,但我无法更改选择和取消选择的颜色:(