我正在使用jquery ui datepicker.and它正常工作。我需要在查询字符串包含任何日期时将日期设置为文本框
例如我的网址是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 :(得分: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");
答案 1 :(得分:1)
您需要使用.attr函数:
var myDate = $("#datepicker").attr("date_name");
但是,您应该注意创建非标准HTML属性
答案 2 :(得分:0)
你可以这样做:
$('#datepicker1')。datepicker({orientation:'top',format:'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然后将当前日期设置为文本框。