将Date设置为Jquery UI datepicker输入文本框

时间:2013-12-12 11:53:06

标签: javascript jquery jquery-ui datepicker

我正在使用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);


    });

提前致谢

3 个答案:

答案 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然后将当前日期设置为文本框。