将脚本创建列表中的值连接到一个字段中

时间:2013-01-09 10:06:45

标签: php javascript

如何连接脚本创建列表中的文本字段中的数据,其中文本字段名称将始终彼此相同?请允许我解释一下:

我有一系列要添加到使用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 ......”等)。我无法弄清楚这是如何起作用的!

任何帮助?

1 个答案:

答案 0 :(得分:0)

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

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

...如果你愿意,你只能在列表中添加/删除相关元素,但是你得到了要点。

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