1

我的页面中有我的 Timepicker,我有一个众所周知的问题,即在回发期间它没有使用新选择的时间进行更新,并且即使第一次正确设置它也保持初始设置时间。所以我知道我应该有一些 javascript 在隐藏字段中存储选定的时间,以便稍后在我的代码后面访问。现在的问题是我不知道如何在 javascript 中访问 timePicker 的值。我正在使用 ASP.NET TimePicker

这是我对 timepicker 的 html 声明:

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

1 回答 1

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);
于 2013-08-14T20:13:19.103 回答