我正在开发一个工具让我的员工填写他们的可用性,但我似乎遇到了一个有趣的错误。该表单使用范围滑块工作,员工可以将其开始时间和结束时间拖动到可用的适当范围。
我遇到的错误是当你最初向前移动滑块时,它在第一步没有改变,当你尝试回到最小值(或最大值)时它会缩短30分钟(一步)< / p>
HTML:
<span id="montime" class="text_regular" style="font-size:24px;"></span><br><br>
<span class="text_regular"><b>Check if available</b></span>
<input type="checkbox" name="moncheck" <?php echo $monchecked; ?> /><br><br>
<div id="monslide"></div>
<input type="text" id="monraw" name="monraw"/>
<input type="text" id="monobj" name="monobj"/>
JS:
更新
我在jsFiddle工作:http://jsfiddle.net/cZxrb/10/
如您所见,它不符合我为其设定的最小/最大值。
由于
答案 0 :(得分:0)
下面的最终解决方案
问题是在实际更改之前调用slide
事件。
您可以使用change
事件,但只有在释放滑块时才会调用此事件。
$("#monslide").slider({
range: true,
values: [360, 1320],
min: 360,
max: 1320,
step: 30,
change: monSlideTime
});
然而,这会恶化可用性......使用两者也不会产生好感,但它有效:http://jsfiddle.net/cZxrb/15/
<强>更新强>
好的,我在documentation做了一些研究。您应该使用ui
对象来读取值。 ui.value
返回当前滑块移动的结果值,ui.values
在移动前提供两个值。
我在这里使用的检查可能更清晰,但似乎有效:http://jsfiddle.net/cZxrb/21/
顺便说一句,滑块代码中没有错误,我认为他们的行为是这样的......; - )