Я использую 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);
});
заранее спасибо
Лучшим подходом будет использование атрибута пользовательских 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");
Вам нужно использовать функцию.attr:
var myDate = $("#datepicker").attr("date_name");
Однако вы должны остерегаться создания нестандартных атрибутов HTML
Вы можете сделать это:
$ ('# 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, а затем установить текущую дату в текстовое поле.
.datepicker()
вызвать.datepicker()
а затем.datepicker('setDate', date)