2011-05-11 56 views
0

jQuery的日期選擇器插件工作,但我想有onSelect觸發一個功能,打開一個新的選項卡頁面。jQuery的日期選擇器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到功能(鏈接){window.open( '/ EN /行程/' +鏈接, '_self') ; },然後由於某些未知的原因,它會打開一個帶有相應DATE的URL而不是相應的鏈接。

+0

你能告訴我們一些適當的源代碼,而不是隨機的線段?到目前爲止,你已經遍佈全球,請更具體地瞭解什麼是不工作以及你想實現什麼。 – DarthJDG 2011-05-11 16:46:46

+0

datepicker works =它在調用時打開並突出顯示在var日期中定義的日期。 如果我點擊一個突出顯示的日期,它應該打開一個新的URL與我剛剛點擊=工程的日期。 如果我將OnSelect函數更改爲使用var鏈接而不是日期,它不起作用。 – user749073 2011-05-11 16:52:53

回答

0

這裏是ONSELECT處理程序的語法:

function(dateText, inst) 

和解釋從文檔:

這個函數接收選擇 日期作爲文本和日期選擇器 實例作爲參數。

所以,當你說:

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

所以作爲參數傳遞鏈接實際上不是你認爲它不過是處理器內部的上下文更改的數組。即鏈接指的是如上所述的選定日期。

相關問題