Установите Date в поле ввода DatePicker пользовательского интерфейса Jquery

0

Я использую jquery ui datepicker.and его отлично работает. Мне нужно установить дату в текстовое поле, когда querystring содержит любую дату

например, мой url - 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() а затем .datepicker('setDate', date)
  • 0
    jsfiddle.net/D9N6a/2
Показать ещё 2 комментария
Теги:
datepicker

3 ответа

4
Лучший ответ

Лучшим подходом будет использование атрибута пользовательских data.

data-date="2013-12-11"

Теперь вы можете получить к нему доступ

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

Обновить:

Я сомневаюсь, что вы пытаетесь получить его из url (т.е. Строки запроса)

Если да, то проверьте этот ответ, где метод написан для получения

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 рад помочь вам :)
1

Вам нужно использовать функцию.attr:

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

Однако вы должны остерегаться создания нестандартных атрибутов HTML

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, а затем установить текущую дату в текстовое поле.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню