2011-08-10 66 views
0

發現使用jQuery的工具DateInput API在jQuery的DateInput銷燬

http://flowplayer.org/tools/dateinput/

我需要切換輸入框在一個正常的輸入框之間,並用於日期輸入控件的盒子。

我使用下面的切換上dateinput日曆也沒問題:

$('#value').dateinput({selectors:true, max: endDay(new Date()), yearRange:[-10,5] }); 

我遇到的問題是,當我需要切換輸入框恢復正常,並沒有它是一個dateinput,我不能。例如,我會想象會發生以下API調用:

$('#value').dateinput('destroy'); 

有沒有人知道我能做到這一點?

回答

4

.replaceAll().replaceWith()的新輸入替換它。

$("#value").replaceWith("<input>"); 
+0

哈哈該死的,簡單的答案可能是更好的,就在這裏。當然,除非需要保存輸入的其他信息。 – numbers1311407

+0

是的,好點。當然,保留這些數據並將其複製到新的輸入上並不困難。 – gilly3

1

源是在這裏: https://github.com/jquerytools/jquerytools/blob/master/src/dateinput/dateinput.js

乍一看似乎有不是一個破壞的方法,但可以或許只是將其隱藏和取消綁定的焦點,並單擊元素,以有效地「刪除」它?

不幸的是,它不會綁定一個名稱空間,因此您必須解除綁定輸入上的所有焦點/點擊事件。所以如果你有其他行爲需要保留,這可能是不可行的。

喜歡的東西:

$('#value').dateinput('hide'); 
$('#value').unbind('click').unbind('focus'); 

編輯:也

$('#value').data('dateinput', null); 

如果你想嘗試切換回上。我沒有仔細閱讀源代碼,看看在簡單地移除事件處理程序後是否將它重新打開會導致問題。