2010-11-07 61 views
4

請幫助我,我很無能。當我嘗試打開jQuery UI的日期選擇器並將其附加到輸入標記時,它完美地工作,但是當我嘗試將它附加到textarea時,什麼都不會發生。爲什麼jquery datepicker不能在textarea上工作,但只能在輸入

<script type="text/javascript"> 
    $(function() { $("#${data_picker}").datepicker(); }); 
</script> 

---- This will work ---- 
<input id="data_picker" /> 

---- This doesn't work ---- 
<textarea id="data_picker"></textarea> 

爲什麼?

p.s 當然,它們不在同一個頁面中,它只是輸入或僅在頁面中的textarea。

+3

爲什麼在第一個地方使用textarea作爲日期值? – 2010-11-07 12:37:38

+0

這是我們系統中的default顯示方法。 – Rotem 2010-11-07 13:22:43

回答

5

短版:datepicker只是不支持<textarea>元素,具體而言,對inline modeonly <input> elements不支持。以下是執行這些檢查的相關代碼:

var nodeName = target.nodeName.toLowerCase(); 
var inline = (nodeName == 'div' || nodeName == 'span'); 
if (!target.id) { 
    this.uuid += 1; 
    target.id = 'dp' + this.uuid; 
} 
var inst = this._newInst($(target), inline); 
inst.settings = $.extend({}, settings || {}, inlineSettings || {}); 
if (nodeName == 'input') { 
    this._connectDatepicker(target, inst); 
} else if (inline) { 
    this._inlineDatepicker(target, inst); 
} 
+0

我知道了!真是太遺憾了......謝謝你。 – Rotem 2010-11-07 13:23:40

+0

我設法改變日期選擇器代碼以使它與textarea一起工作,我怎樣才能將它上傳到這裏? – Rotem 2010-11-07 13:57:53

+0

@Rotem - 我沒有關注......這不是一個真正的代碼共享網站 - 並且有一些原因(事件和一些不起作用的選項)代碼明確排除了'