2013-01-09 23 views
0

如何連接腳本創建列表中文本字段的數據,其中文本字段名稱將始終彼此相同?請允許我解釋一下:將腳本創建列表中的值連接到一個字段

我有一系列要點被添加到使用javascript創建的列表中。這是腳本來創建列表:

var src = this.parentNode; 
var field = $('<input type="text" id="savedpoints" name="savedpoints">').attr({'value': $(src).data('dbId')}); 
var but = $('<button>').append('&nbsp;&nbsp;Remove&nbsp;&nbsp;'); 
var newItem = $('<li>').append(field).append($(src).data('marker').title); 
newItem.append('&nbsp;').append(but); 
$(but).click(poi.removeItem); 
$(poi.saveList).append(newItem); 

因此,有越來越添加到一個按鈕旁邊,從列表中刪除列表中的項目,如果他們不再需要。該列表完美無缺。

我需要的是將值添加到表單底部的文本字段(比如name =「allpoints」),它將來自此列表的字段值(標記爲「savedpoints」的文本字段與屬性'dbId')轉換成一個字符串(例如「6,7,10,13,14,...」等),每當一個項目被刪除或添加到列表中。我無法弄清楚這可能如何工作!

任何幫助?

回答

0

我將一個事件處理程序添加到刪除按鈕(一個或多個)的共同始祖,並添加按鈕(一個或多個),觸發的時候可以完全重建「allpoints」的內容:

$(commonParent).on('click', 'button.remove, button.add', function() { 
    $('[name="allpoints"]').val($('[name="savedpoints"]').map(function() { 
     return $(this).val(); 
    }).join(", ")); 
}); 

..如果你願意,你只能在列表中添加/刪除相關元素,但你可以獲得要點。

請注意,您需要在我的示例中添加一個類到您的刪除<button>(我稱它爲remove),並添加到您的「添加」按鈕。

+0

感謝@Matt我認爲這可能會接近我想要的 - 但是,它似乎並沒有填充(也許是因爲,每次迭代或添加項目,每個項目使用相同的字段名稱)。你能想到其他任何方式嗎?感謝您的想法 – user1259798

+0

@ user1259798:你能想出一個[jsFiddle](http://jsfiddle.net)或類似的文件來證明你的問題嗎?我不能認爲OTOMH爲什麼不行。 – Matt

相關問題