2012-06-09 66 views
-2

我想在開始日期和結束日期控件上設置datepicker如何使用jquery設置datepicker?

$("#" + TxtStrtDate,"#" + TxtExpDte").datepicker({ 
    defaultDate: "+1w", 
    changeMonth: true, 
    numberOfMonths: 3, 
    onSelect: function(selectedDate) { 
     var option = this.id == "abc" ? "minDate" : "maxDate", 

     instance = $(this).data("datepicker"), 
     date = $.datepicker.parseDate(
      instance.settings.dateFormat || 
     $.datepicker._defaults.dateFormat, 
     selectedDate, instance.settings); 

     dates.not(this).datepicker("option", option, date); 
    } 
}); 

我的代碼中有什麼錯誤請提出。

+0

很難說沒有看到你的HTML。你試圖鏈接到什麼控件? –

+0

waht是myquestion中的問題 – user1196392

回答

1

既然你提到過這些是服務器控件,我假設你使用的是ASP.NET。如果是這樣的話,你是使用MasterPages,MasterPages裂傷控件的ID,所以你必須做到以下幾點:

$('#<%= TxtStrtDate.ClientID %>, #<%= TxtExpDte.ClientID %>').datepicker({ 
... 
}); 

否則,你有一個額外的「在你的選擇,你的IDS必須內引號,除非他們實際上是JavaScript的變量:

$("#" + TxtStrtDate,"#" + TxtExpDte") 

應改爲:

$("#TxtStrtDate, #TxtExpDte") 
// or if they are javascript variables 
$("#" + TxtStrtDate + ", #" + TxtExpDte) 

編輯

根據您的評論,似乎你想使用日期範圍版本的jquery datepicker。對於你必須做到以下幾點:

$("#TxtStrtDate").datepicker({ 
    defaultDate: "+1w", 
    changeMonth: true, 
    numberOfMonths: 3, 
    onSelect: function(selectedDate) { 
     $("#TxtExpDte").datepicker("option", "minDate", selectedDate); 
    } 
}); 
$("#TxtExpDte").datepicker({ 
    defaultDate: "+1w", 
    changeMonth: true, 
    numberOfMonths: 3, 
    onSelect: function(selectedDate) { 
     $("#TxtStrtDate").datepicker("option", "maxDate", selectedDate); 
    } 
}); 

結帳的date range demo在jQuery UI的網站了解更多信息。

+0

你好我使用asp.net。即時通訊使用ascx page.in ascx頁面我把阿雷迪作爲var TxtStrtDate ='<%= TxtStrtDate.ClientID%>'; var TxtExpDte ='<%= TxtExpDte.ClientID%>';但在我的JS腳本頁面無法正常工作,因爲我want.plz給我的解決方案 – user1196392

+0

它的工作,但在開始日期它選擇的價值,但是當我選擇的日期,它不hide.in到期日期它顯示前幾個月.how即時解決此問題 – user1196392

+0

@ user1196392我已更新我的答案以解決此問題。 –

2

假設TxtStrtDateTxtExpDte是變量,您引用元素的方式是無效的。

更新這樣:

$("#"+TxtStrtDate+", #"+TxtExpDte).datepicker({ 
... 
}); 

This Fiddle與建議代碼工作就好了!

This Fiddle用當前代碼證明它不起作用!


如果他們實際上是元素的ID,使用:

$("#TxtStrtDate, #TxtExpDte").datepicker({ 
... 
}); 

看到這個working Fiddle例子!

+0

@JoshMein呃,不,原來有一個額外的報價,但除此之外它沒問題。 –

+0

@JoshMein(我原來的評論被砍掉了,但不會這麼做嗎?) –

+0

@JoshMein,好吧,許多情況下都提供了幫助。由OP來表達自己,讓我們提供更好的幫助。 – Zuul

相關問題