jquery datepicker onselect简单的函数

时间:2011-05-11 16:32:19

标签: jquery function datepicker window.open onselect

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 to function(links){window.open('/ en / trips /'+ links,'_ self'); },然后由于某些未知原因,它打开一个URL,其中相应的DATE没有相应的链接。

1 个答案:

答案 0 :(得分:0)

这是onSelect处理程序语法:

function(dateText, inst)

来自文档的解释:

  

该功能接收所选   将日期作为文本和日期选择器   实例作为参数。

所以当你说:

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

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