2013-12-12 118 views
0

我使用jQuery UI的datepicker.and其工作正常。我需要的是將日期設置爲文本查詢字符串包含任何日期時設置日期到jQuery UI的日期選擇器輸入文本框

如我的網址是localhost:301/?date=2013-12-01

所以我想設置這個日期來輸入文本框。

我的輸入框HTML是

<input type="text" id="datepicker" class="txt-cal hasDatepicker" name="addFromDate" date_name="2013-12-11"> 

我嘗試了一些事情,但沒有結果。

$(function() { 

     var myDate = ?/*how to select the date_name from input textbox 
     $('#datepicker').datepicker(); 
     $('#datepicker').datepicker('setDate', myDate); 
     $('#datepicker2').datepicker(); 
     $('#datepicker2').datepicker('setDate', myDate); 
     $('#datepicke3').datepicker(); 
     $('#datepicke3').datepicker('setDate', myDate); 
     $('#datepicker4').datepicker(); 
     $('#datepicker4').datepicker('setDate', myDate); 


    }); 

在此先感謝

+0

你可以給我們提供一個jsfiddle嗎?你應該先調用'.datepicker()',然後調用'.datepicker('setDate',date)' – RononDex

+0

http://jsfiddle.net/D9N6a/2/ – Arun

+2

這裏你去:http://jsfiddle.net/D9N6a/3/ – RononDex

回答

4

一個更好的方法將正在使用custom data attribute

data-date="2013-12-11" 

現在,您可以訪問它

var myDate = $("#datepicker").data("date"); 
$('#datepicker').datepicker('setDate', myDate); 

更新:

我懷疑你正試圖從URL得到它(即查詢字符串)

如果是這樣檢查這個answer,其中一個方法被寫入得到

function getParameterByName(name) { 
    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]"); 
    var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"), 
     results = regex.exec(location.search); 
    return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " ")); 
} 

現在

var myDate = getParameterByName("date"); 
+0

@Arun很高興幫助你:) – Praveen

1

您需要使用.attr功能:

var myDate = $("#datepicker").attr("date_name"); 

然而,你應該小心創建非標準HTML屬性

0

你可以這樣做:

$( '#DATEPICKER1')日期選擇器({方向: '頂',格式爲: 'DD-MM-YYYY'})。 ;

var currentDate = new Date(); 
var day = ((currentDate.getDate()).toString().length == 1) ? '0' + (currentDate.getDate()).toString() : (currentDate.getDate()).toString(); 
var month = ((currentDate.getMonth() + 1).toString().length == 1) ? '0' + (currentDate.getMonth() + 1).toString() : (currentDate.getMonth() + 1).toString(); 
var year = currentDate.getFullYear(); 
$("#datepicker1").val(day + '-' + month + '-' + year); 

我試過在文本輸入控件中。它只需要應用datepicker 1st,然後將當前日期設置爲文本框。

相關問題