2013-05-10 20 views
0

美好的一天!希望有人能幫我解決我遇到的問題。如何刪除/重置以編程方式創建的JavaScript日期滑塊?

我創建一個像這樣的一堆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

我建議你讓你的標題更具體些。沒有通用的方法來重新設置monad之類的東西。 – Halcyon 2013-05-10 16:04:20

+0

把你在jsfiddle中談論的一個樣本 – blackhawk 2013-05-10 16:05:55

+0

這是你正在使用的jQuery插件。你知道它的文檔頁面的URL嗎? – bfavaretto 2013-05-10 16:09:02

回答

0

你也許可以做這樣的事情:(未測試)

在循環創建dateRangeSlider前:

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

您可能需要將內聯樣式從HTML復位 - 不確定那個 - 試一試。

+0

'html(「」)'無論如何都解綁。 – Aristos 2013-05-10 17:55:44

0

Jquery有一個名爲remove()的方法,允許您刪除DOM元素。根據特定的條件將它與setTimeOut()函數混合,你應該能夠更接近你想要達到的目標。

相關問題