我的页面上有一个滑块,我想对其进行设置,以便当用户滑动时(以分钟为单位),它会显示当前选择的“漂亮”版本。因此,例如,如果滑块在“60”上,那么它将显示“1 小时”,如果在“65”上,它将显示“1 小时 5 分钟”
最好的方法是什么?如果它是 MaskedEditExtender 控件上的自定义掩码,那么我将如何实现呢?我在 c# 上编写了代码,但我不希望它在鼠标松开时改变,而是在滑块本身移动时改变。
希望我说得通!提前致谢。:)
这是当前的滑块:
<div class="controlColumn">
<asp:TextBox ID="Slider1" runat="server" Width="400px" AutoPostBack="True"></asp:TextBox>
<ajaxToolkit:SliderExtender runat="server" ID="sPrepTime" Minimum="0" Maximum="1440" Decimals="0" Steps="288" TargetControlID="Slider1" BoundControlID="Slider1_BoundControl" Orientation="Horizontal"></ajaxToolkit:SliderExtender>
<asp:TextBox ID="Slider1_BoundControl" runat="server" Width="100px" OnTextChanged="Slider1_BoundControl_TextChanged" TextMode="Number" AutoPostBack="True"></asp:TextBox>
<asp:Label ID="lblPrepTime" runat="server"></asp:Label>
</div>
一旦鼠标停止选择滑块,OnTextChanged 就会触发。
更新
我无法使用 AJAX 滑块完成我需要的工作,但使用下面提供的 javascript 移动到了 Jquery UI 滑块。我的jQuery代码是:
$(function() {
$( "#slider" ).slider({
value:0,
min: 0,
max: 1440,
step: 5,
slide: function( event, ui ) {
$("#MainContent_amount2").val(ui.value);
$('#MainContent_lblPrepTime').text(minutesToText(ui.value));
}
});
$("#MainContent_amount2").val($("#slider").slider("value"));
});
您可以在此处找到有关 Jquery UI 的更多信息:http: //jqueryui.com/slider/#default