如何删除/重置以编程方式创建的javascript日期滑块?

时间:2013-05-10 16:00:59

标签: javascript asp.net

美好的一天!希望有人可以帮助我解决我所看到的问题。

我正在创建一堆像这样的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 />元素,带有滑块附加日期的框不在正确的位置等。

这就像我需要删除所有滑块然后重新添加它们 - 对生成滑块的第一个调用创建的所有内容进行“重置”。我对如何做到这一点没有任何想法,或者如果这甚至是解决问题的方法。

有什么想法吗?

帮助! :)

2 个答案:

答案 0 :(得分:0)

你可能会做这样的事情:(未经测试)

在创建dateRangeSlider之前的循环中:

$("#Product"+index).unbind();
$("#Product"+index).html("");

你可能需要从你的html重置内联样式 - 不确定那个 - 尝试一下。

答案 1 :(得分:0)

Jquery有一个名为remove()的方法,允许您删除DOM元素。根据某些条件将setTimeOut()函数混合在一起,你应该能够更接近你想要实现的目标。