0

再会!希望有人可以帮助我解决我遇到的问题。

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

就像我需要删除所有滑块然后重新添加它们 - 一种“重置”由第一次调用生成的滑块创建的所有内容。我一点也不知道如何做到这一点,或者这是否是解决问题的方法。

有任何想法吗?

帮助!:)

4

2 回答 2

0

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

于 2013-05-10T16:07:38.433 回答
0

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

在创建 dateRangeSlider 之前的循环中:

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

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

于 2013-05-10T16:06:51.883 回答