美好的一天!希望有人可以帮助我解决我所看到的问题。
我正在创建一堆像这样的javascript日期滑块:
// Create the slider for this product.
$("#Product" + index).dateRangeSlider({
bounds: { min: new Date(2010, 10, 1), max: new Date(2018, 10, 1, 23, 59, 59) }, // yyyy-m-d HH:MM:SS
defaultValues: { min: new Date(StartDate[0], StartDate[1] - 1, StartDate[2]), max: new Date(EndDate[0], EndDate[1] - 1, EndDate[2]) }, // yyyy-mm-dd, slider starts month from 0, hence the "-1".
allowResize: false
}).bind("valuesChanged", myEventHandler);
它们“附加”到<div />
个元素,如下所示:
<div style="top: 6em; position: absolute; margin-left: 175px">
<div id="Product1" style="width: 950px; margin-left: 60px">
</div>
</div>
我有一堆这些<div />
元素,javascript遍历它们并为每个元素创建一个滑块。
这里的问题是:当我第一次打电话时,效果很好。如果我再次调用javascript例程(在更新我想要显示的内容之后 - 添加/删除),事情看起来真的搞砸了。格式化是关闭的:滑块被推出<div />
元素,带有滑块附加日期的框不在正确的位置等。
这就像我需要删除所有滑块然后重新添加它们 - 对生成滑块的第一个调用创建的所有内容进行“重置”。我对如何做到这一点没有任何想法,或者如果这甚至是解决问题的方法。
有什么想法吗?
帮助! :)
答案 0 :(得分:0)
你可能会做这样的事情:(未经测试)
在创建dateRangeSlider之前的循环中:
$("#Product"+index).unbind();
$("#Product"+index).html("");
你可能需要从你的html重置内联样式 - 不确定那个 - 尝试一下。
答案 1 :(得分:0)
Jquery有一个名为remove()的方法,允许您删除DOM元素。根据某些条件将setTimeOut()函数混合在一起,你应该能够更接近你想要实现的目标。