2013-12-12 84 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,然后将当前日期设置为文本框。

相关问题