2011-07-01 90 views
0

我有這段代碼。我需要它來創建一組輸入元素,然後將它們全部刪除:陣列推送和jQuery不起作用

function inputReset(){ 
    var td = new Array(); 
    $('#aaa').find('input').each(function(){ 
     td.push($(this).parent()); 
     alert(td[0][0].nodeName); 
    }); 
    alert(td[0][0]); 
    for(var i = 0; i < 2; i++){ 
     var value = td[i].children('input').val(); 
     alert(td[0][0].nodeName); 
    } 
    try{ 
     td.children('input').remove(); 
     td.text(value); 
    }catch(err){ 
     //alert($('#aaa').html()) 
    } 
} 

$('td[text="editable"]').click(function(){   
     $('td[text="editable"]').unbind('click');   
     inputReset(); 
     $('td[text="editable"]').each(function(index){ 
      if(index < 2){ 
       var value = $(this).text(); 
       $(this).html('<input type="text" name="i'+index+'" value="'+value+'" style="width: 100%" />'); 
      } 
     }); 
     $(document).keyup(function(e){ 
      var keyCode = (window.event) ? e.which : e.keyCode; 
      if(keyCode == 27) 
       inputReset(); 

     }); 
    } 
); 

我不明白爲什麼第一個警報顯示我的0元我推了進去,而第二告訴我「tdArray [0]未定義「。

任何想法?

THX很多

+0

這個特定指數所覆蓋? – MLS

+2

在這裏可以正常工作:http://jsfiddle.net/KXbyC/5/,除非您以其他方式實現它,否則問題在於其他地方。 – Niklas

+0

@Niklas奇怪的是我正在尋找的輸入標籤是由jquery在上一步中添加的。但如果這是一團糟,第一次或第二次警報都不應該給我一些東西,你不覺得嗎? – Nemus

回答