2011-10-09 58 views
0

我正在設置一個表單,它將動態創建一個文本字段並將其附加到表格中。文本字段的名稱是一個數組,因此它包含括號。下面的代碼不會追加輸入字段,而是返回[object HTMLInputElement]。我假設這是因爲括號?有沒有辦法做到這一點?jquery - 如何將名稱數組的輸入附加到行?

//HTML 
<table id="notesplus" cellpadding="0" cellspacing="0"> 
<thead></thead> 
<tbody></tbody> 
</table> 

//JQUERY 
$(document).ready(function() { 
    $('input[id=addIt]').live('click', function() { 
    addPlus(); 
    }); 
}); 

function addPlus() { 
    var item = document.createElement("textarea"); 
    item.setAttribute("name", "section[0][aplus]"+mycount+"[notes]"); 

    var sRow1 = $('<tr>').appendTo('table#notesplus tbody'); 
    var sCell1 = $('<td>').html(item).appendTo(sRow1); 
} 

回答

0

此刻的你正在嘗試使用html插入HTML對象 - 但jQuery的希望在這裏收到HTML string等轉換你的對象追加到你的之前的文本。

更改最後一行:

var sCell1 = $('<td>').append(item).appendTo(sRow1); 
0

首先將您的選擇器$('input[id=addIt]')更改爲$('#addIt')。它快得多。

此外我已檢查您的代碼,它的工作原理。唯一的是我已經添加了mycount變量。

代碼:http://jsfiddle.net/qha9f/1/

0

我會嘗試做這個樣子,看看是否能工程。

function addPlus() { 
    var item = document.createElement("textarea"); 
    var strName = "section[0][aplus]"+mycount+"[notes]"; 
    item.setAttribute("name", strName); 

    $('table#notesplus tbody').append('<tr><td></td></tr>'); 
    $('table#notesplus tbody tr:last-child td').append(item);  

}

或類似的規定。

相關問題