JQuery datepicker:Date的用途是什么:新日期(“07/19/2014”)

JQuery datepicker:Date的用途是什么:新日期(“07/19/2014”),jquery,jquery-ui,datepicker,jquery-ui-datepicker,Jquery,Jquery Ui,Datepicker,Jquery Ui Datepicker,我正在使用jQuery datepicker,我不明白为什么要使用新日期在datepicker中显示事件。我可以在手动传递日期时显示事件,但在日期来自数据库时如何传递日期 例如,我认为我有var事件=包含标题,id,事件日期。其中,event\u date采用未显示的2014-07-21格式 这就是我试过的例子 我有相同的表和相同的字段。但我正在从数据库中获取事件 这是plunker链接,请查看您是否可以在不使用“新日期”的情况下编辑和显示事件。在事件数组中,我只需要{date:“2014-07

我正在使用jQuery datepicker,我不明白为什么要使用新日期在datepicker中显示事件。我可以在手动传递日期时显示事件,但在日期来自数据库时如何传递日期

例如,我认为我有
var事件=包含
标题
id
事件日期
。其中,
event\u date
采用未显示的
2014-07-21
格式

这就是我试过的例子

我有相同的表和相同的字段。但我正在从数据库中获取事件

这是plunker链接,请查看您是否可以在不使用“新日期”的情况下编辑和显示事件。在事件数组中,我只需要{date:“2014-07-21”}以这种格式显示事件。或者请告诉我要编辑数据库返回的数组以显示在datepicker.Link中需要做什么

这是我的简单html代码,我已经将我的数据库事件对象包含在其中,请参阅下面的运行和编辑代码。我试过了你的代码对我不起作用。如果取消对对象的工作事件数组的注释,它可以正常工作,但不工作于从数据库重新调谐的JSON数据。我必须在JSON数据中显示这一点

<html>
<head>
    <title>cal </title>
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript" src="jquery-ui.min.js"></script>
    <link rel="stylesheet" type="text/css" href="jquery-ui.min.css">
    <style type="text/css">
    table.ui-datepicker-calendar tbody td.highlight > a {
        background: url("images/ui-bg_inset-hard_55_ffeb80_1x100.png") repeat-x scroll 50% bottom #FFEB80;
        color: blue;
        background: red;
        border: 1px solid #FFDE2E;
    }
    </style>
</head>
<body>
    <button class="cal13">Hover me</button>
    <div class="cal1" style="display:none"><div>

<script type="text/javascript">
$(document).ready(function(){
    //my original data in json format
var events =[ 
             {"Title":"my date booked", "event_date":"2014-07-11"},
             {"Title":"my date booked", "event_date":"2014-07-12"},
            ];

/* the working data
    var events = [ 
    { Title: "Five K for charity", Date: new Date("02/13/2011") }, 
    { Title: "Dinner", Date: new Date("02/25/2011") }, 
    { Title: "Meeting with manager", Date: new Date("03/01/2011") }
];     */       

$(".cal13").mouseenter(function(){
console.log("in now");
$(".cal1").show();
$(".cal1").datepicker({
    beforeShowDay: function(date) {
        var result = [true, '', null];
        var matching = $.grep(events, function(event) {
            return event.Date.valueOf() === date.valueOf();
        });

        if (matching.length) {
            result = [true, 'highlight', null];
        }
        return result;
    },
    onSelect: function(dateText) {
        var date,
            selectedDate = new Date(dateText),
            i = 0,
            event = null;

        while (i < events.length && !event) {
            date = events[i].Date;

            if (selectedDate.valueOf() === date.valueOf()) {
                event = events[i];
            }
            i++;
        }
        if (event) {
            alert(event.Title);
        }
    }
});
}).mouseleave(function(){
$(".cal1").hide();
    console.log("out now");
  });
});
</script>
</body>
</html>

卡尔
table.ui-datepicker-calendar tbody td.highlight>a{
背景:url(“图像/ui-bg_inset-hard_55_ffeb80_1x100.png”)重复-x滚动50%底部#ffeb80;
颜色:蓝色;
背景:红色;
边框:1px实心#FFDE2E;
}
盘旋我
$(文档).ready(函数(){
//我的json格式原始数据
var事件=[
{“标题”:“我的预订日期”,“活动日期”:“2014-07-11”},
{“标题”:“我的预订日期”,“活动日期”:“2014-07-12”},
];
/*工作数据
var事件=[
{标题:“五K慈善”,日期:新日期(“2011年2月13日”)},
{标题:“晚餐”,日期:新日期(“2011年2月25日”)},
{标题:“与经理会面”,日期:新日期(“2011年1月3日”)}
];     */       
$(“.cal13”).mouseenter(函数(){
console.log(“立即登录”);
$(“.cal1”).show();
$(“.cal1”).datepicker({
beforeShowDay:功能(日期){
var result=[true',,null];
变量匹配=$.grep(事件,函数(事件){
返回事件.Date.valueOf()==Date.valueOf();
});
if(匹配的长度){
结果=[true,‘highlight’,null];
}
返回结果;
},
onSelect:函数(日期文本){
var日期,
selectedDate=新日期(日期文本),
i=0,
事件=null;
while(i
我猜您使用的是
php
,如果是这样,您可以组合使用,并将您的
事件日期
的顺序颠倒为
2014年6月21日
,如下所示:

$event_date = "2014-07-21";
$pieces = explode("-", $event_date);
$pieces = array_reverse($pieces);
$result = implode("-", $pieces);
echo $result; //you will get 21-07-2014
通过这样做,我认为您可以将其分配给您的
日期选择器

测试

var events =[ 
    {"Title":"my date booked", "event_date":"2014-07-11"},
    {"Title":"my date booked", "event_date":"2014-07-12"},
];
var dt_events = [];
events.forEach(function(item){
    dt_events.push({"Title": item.Title,  Date: new Date(item.event_date)});
});

dt_events.forEach(function(item){
    alert(item.Title + ' ' + item.Date);
});

看看这个,目前我没有足够的时间尝试Datepicker。不过我想那就行了。。希望能有所帮助。

感谢@Rory McCrossan的编辑。先生@user3003216我没有遇到日期格式的问题。可以用我的数据库存储格式显示事件,您只需查看我提供的链接,其中每个日期都是用新日期(“2014-07-21”)创建的。我正在使用codeigniter。我正在使用我上面提到的日期选择器链接。所以当我分配var事件=;我如何分配日期,因为您在链接中看到这些日期是用新日期启动的。这是plunker,看看你是否可以从事件数组中删除“新日期”,并且只使用日期i,e“2014-07-13”来显示日历中的事件。要查看链接中的事件,请访问2011年。我忘了创建新链接,所以提供了一个。谢谢你的回复,很抱歉,我迟到了,但我尝试了你的代码。我已经用JSON数据编辑并编写了代码。现在可以编辑简单的html文件了。请看你是否能做到这一点,如果你能做到,我将对此进行标记以获得最佳答案。否,先生:-(仍然没有显示在datepicker中..现在时间的形式更为复杂,2014年7月11日星期五05:30:00 GMT+0530(IST)先生,我是Jquery的初学者。只要你有时间,你就可以看到运行整个html,先生。除非你看到,否则你将无法理解这个问题。我在等待你的答案。请查看运行整个代码。您好,先生,我得到了解决方案,我刚刚从datepicker禁用了这些日期。请查看我的代码var array=[“2014-07-14”,“2014-07-15”、“2014-07-16”]$('.cal1').datepicker({beforeShowDay:function(date){var string=jQuery.datepicker.formatDate('yy-mm-dd',date');返回[array.indexOf(string)=-1]});