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,...”等),每当从列表中删除或添加项目时。我无法弄清楚这可能如何工作!

有什么帮助吗?

4

1 回答 1

0

我会将事件处理程序添加到删除按钮的共同祖先并添加按钮,这会在触发时完全重建“所有点”的内容:

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

...如果您愿意,您只能在列表中添加/删除相关元素,但您会明白要点。

请注意,在我的示例中,您需要将一个类添加到您的删除<button>(我称之为remove),以及您的“添加”按钮。

于 2013-01-09T10:13:27.947 回答