我有一个文本框,其中包含用户可以指定查看某些内容的时间值。只有以 0 或 5 结尾的时间才有效,所以我使用 Jquery 滑块让用户选择他们想要查看的时间。
这是我的文本框:
<asp:TextBox ID="TimeSelect" runat="server" BorderWidth="2px" Text="" ReadOnly="false"></asp:TextBox>
这是编辑它的代码(这被滑块的“更改”回调调用):
function OnSelectedSliceChanged(value) {
var now = new Date();
var currentTime = new Date(now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate(), now.getUTCHours(), now.getUTCMinutes(), now.getUTCSeconds());
currentTime.setMinutes(currentTime.getMinutes() - currentTime.getMinutes() % 5);
currentTime.setMilliseconds(0);
currentTime.setSeconds(0);
var millisecondsToSubtract = (<%=ViewState[MaxTicks]%> -value) * oneInterval;
var newTime = new Date(currentTime.getTime() - millisecondsToSubtract);
$("#TimeSelect").attr("value", Pad("" + newTime.getHours(), 2) + ":" + Pad("" + newTime.getMinutes(), 2));
}
现在,滑块成功更改了 TextBox 中的时间,但用户仍然可以手动编辑文本。
我试图通过设置来阻止用户直接编辑 TextBox ReadOnly = "true"
。但是,这导致我的滑块也无法编辑 TextBox。
有没有办法阻止用户编辑 TextBox 但让代码仍然编辑它?