【问题标题】:jquery datepicker onselect simple functionjquery datepicker onselect 简单函数
【发布时间】:2011-08-23 11:34:30
【问题描述】:

jquery datepicker 插件可以工作,但我想让 onSelect 触发一个在新选项卡中打开页面的函数。

jquery datepicker 插件可以工作,但我想让 onSelect 触发一个在新选项卡中打开页面的函数。

$("#dp").datepicker({
beforeShowDay: highlightDays,

//works perfectly fine

onSelect: function(dates) { window.open('/en/calendar/' + dates, '_self'); },
});

var dates = [new Date(2011, 4 - 1, 28), new Date(2011, 5 - 1, 10),];

//does not work

onSelect: function(links) { window.open('/en/trip/' + links, '_self'); },

var links = [new Link('link1'), new Link('link2'),];

js:

$( "#toggleDP" ).click(function() { $("#dp ").datepicker('show'); });

$("#dp").datepicker({
changeMonth: true,
changeYear: true,
showOn: 'button',
showButtonPanel: true,
buttonImageOnly: true,
buttonImage: "0.gif",
dateFormat: 'yy-mm-dd',
beforeShowDay: highlightDays,
onSelect: function(dates) { window.open('/en/calendar/' + dates, '_self'); },
});


var links =[new Link('test'), new Link('test1'), ];
var dates = [new Date(2011, 4 - 1, 28), new Date(2011, 5 - 1, 10), ];
var txt = ['test','test1',];

function highlightDays(date) {
for (var i = 0; i < dates.length; i++) {
if (dates[i]-date==0) {
return [true, 'markedDay', txt[i],];
}
}
return [false, ''];
}

如果我将 onSelect 设置为 function(links) { window.open('/en/trips/' + links, '_self'); },然后由于某些未知原因,它打开了一个带有相应 DATE 的 URL,而不是相应的链接。

【问题讨论】:

  • 你能给我们展示一些正确的源代码,而不是随机的行片段吗?到目前为止,您已经掌握了一切,请更具体地说明哪些无效以及您想要实现的目标。
  • datepicker 工作 = 它在调用时打开并突出显示在 var 日期中定义的日期。如果我单击突出显示的日期,它应该会打开一个新 URL,其中包含我刚刚单击的日期 = 有效。如果我将 OnSelect 函数更改为使用 var 链接而不是日期,它将不起作用。

标签: jquery function datepicker window.open onselect


【解决方案1】:

这是 onSelect 处理程序语法:

function(dateText, inst)

以及来自文档的解释:

函数接收选中的 日期作为文本和日期选择器 实例作为参数。

所以当你说:

   onSelect: function(links) { window.open('/en/trips/' + links, '_self'); }

因此,作为参数传递 links 实际上并不是您认为的数组,而是在处理程序内部更改了上下文。即链接指的是上面提到的选定日期。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-06
    • 2010-12-25
    相关资源
    最近更新 更多