2014-07-08 66 views
0

我有一個HTML表格,其中多行包含表單控件,如input type =「text」和textareas。每一個的最後一列都是日期字段,是輸入類型,其他字段是textareas。一切工作正常,默認字段和動態添加的行:我正在使用下面的行來添加動態行的表。jQuery datepicker無法在IE9中添加動態文本區域

$( '#的DataTable TR:最後的')。之後( TR TD ALIGN =證明 textarea的行數= 1周的cols = 50 textarea的 TD TD ALIGN =證明 輸入類型=文本ID =日期1 td tr);

日期選擇器插入新行像以下之後加入:

$( 「日期1」)日期選擇器({DATEFORMAT: 「DD/MM/YY」,showOn: 「按鈕」,firstDay:1, showOtherMonths:true,prevText:'<',nextText:'>'});

我最近添加了動態行爲來增加textarea高度並檢查maxlength(因爲maxlength在IE9中也不起作用)。

添加動態行爲的textarea的代碼在下面給出:

$( 「#DataTable的文本區域」)的keydown(函數(e)中{ increaseRows(此,E);});

IncreaseRows功能在下面給出:

功能increaseRows(textAreaObj,E){ 而(textAreaObj.scrollHeight < textAreaObj.offsetHeight){textAreaObj.rows--; }

while(textAreaObj.scrollHeight > this.offsetHeight) { 
     textAreaObj.rows++;   } textAreaObj.rows++; 

     var $this = $(textAreaObj); 
     var maxlength = $this.attr('maxlength'); 
     if (!!maxlength) { 
      var text = $this.val(); 
      if (text.length > maxlength) { 
       // truncate excess text (in the case of a paste) 
       $this.val(text.substring(0,maxlength)); 
       e.preventDefault(); 
      } 
     } } 

這樣,日期選擇器停止工作。我能夠看到日曆,但不能像往常一樣選擇日期。

任何想法?

最好的問候, MouliPC。

回答

0

問題已經解決,從jsfiddle下面的修改。

http://jsfiddle.net/gjqWy/155/#run

的問題是由於行屬性未在IE9支持。 JS方法修改如下:

function increaseRows(textAreaObj, e) { 
     textAreaObj.oninput = function() { 
      textAreaObj.style.height = ""; 
      textAreaObj.style.height = Math.min(textAreaObj.scrollHeight, 300) + "px"; 
     }; 

     var $this = $(textAreaObj); 
     var maxlength = $this.attr('maxlength'); 
     if (!!maxlength) { 
      var text = $this.val(); 
      if (text.length > maxlength) { 
       // truncate excess text (in the case of a paste) 
       $this.val(text.substring(0,maxlength)); 
       e.preventDefault(); 
      } 
     } 
    }