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没有相应的链接。
答案 0 :(得分:0)
这是onSelect处理程序语法:
function(dateText, inst)
来自文档的解释:
该功能接收所选 将日期作为文本和日期选择器 实例作为参数。
所以当你说:
onSelect: function(links) { window.open('/en/trips/' + links, '_self'); }
因此,作为参数传递 links 实际上并不是您认为的数组,而是在处理程序中更改了上下文。即 链接 是指上述选定日期。