2013-08-14 1 views
1

У меня есть Timepicker на моей странице, и у меня есть известная проблема с тем, что он не обновляется с новым выбранным временем во время postbacks и сохраняет начальное заданное время, даже если оно правильно установлено в первый раз . , так что я знаю, что у меня должен быть некоторый javascript, который хранит выбранные времена в скрытом поле, чтобы получить доступ позже в моем коде. теперь проблема в том, что я не знаю, как получить доступ к значению timePicker в javascript. я использую ASP.NET TimePickerДоступ к значению TimePicker в Javascript

Вот мой HTML декларация timepicker:

<cc1:TimeSelector ID="TimeSelectorDebut" BrhaviorID="TimeSelectorDebut" runat="server" DisplaySeconds="false" SelectedTimeFormat="TwentyFour" OnChange ="SaveNewTimes()"></cc1:TimeSelector> 
+0

сообщение раздел HTML, относящийся к timepicker. Нам нужно посмотреть, как отображается на странице, прежде чем кто-нибудь сможет рассказать вам, как получить доступ к ее значениям. – Icarus

ответ

1

Это должно работать:

function getTime(timePicker) { 
    var timeSel = document.getElementById(timePicker); 
    var inputs = timeSel.getElementsByTagName("input"); 
    if (inputs.length === 6) { 
     var hour = inputs[0].value; 
     var minutes = inputs[2].value; 
     var seconds = inputs[4].value; 
     var meridiem = inputs[5].value; 
     return hour + ":" + minutes + ":" + seconds + " " + meridiem; 
    } 
} 

Использование:

var time = getTime('<%=TimeSelector1.ClientID %>'); 
console.log(time); 

Примечание: Убедитесь, уверен, что это включено после того, как элементы (window.load, document.ready или внизу вашей страницы, после тега body).

Result: 02:14:00 PM 

Это, конечно, является строкой, но вы можете легко превратить это в Date объекта:

return new Date(null, null, null, hour, minutes, seconds); 
+1

Я адаптировал ваш код в своем формате, так как у меня есть формат 24 часа ... он отлично поработал с вами! Я не думал о том, что данные хранятся в таблице внутри селектора. Еще раз спасибо –