AUI文本框列表 - 检索已删除的元素值

时间:2014-07-17 12:28:40

标签: javascript alloy-ui liferay-aui textboxlist

我正在使用Liferay 6.2并希望从Textboxlist组件中检索已删除元素的值。我已在hiddenInput元素中存储了值列表,并在Textboxlist中显示列表。当我删除元素时,我想更新隐藏输入元素中的值存储。但我不知道如何检索被删除的元素。

AUI().ready('aui-textboxlist-deprecated', function (A) {

    var source = A.one('#hiddenInput').val().split(',');

    var tagslist = new A.TextboxList({
        contentBox: '#demo',
        dataSource: source,
        matchKey: 'name',
        schema: {
            resultFields: ['key', 'name']
        },
        schemaType: 'json',
        typeAhead: true,
        width: 500
    }).render();

    var values = A.one('#hiddenInput').val().split(',');
    A.each(values, tagslist.add, tagslist);

    var updateHiddenInput = function (event) {

        //how to get the removed element?

    }

    tagslist.entries.after('remove', updateHiddenInput);
});

如何实现这一目标?

1 个答案:

答案 0 :(得分:0)

正如@jbalsas在评论中所说:

  

如果您只需要标签,则可以使用event.attrName获取该标签。如果您需要使用该元素,则会在event.item.entry中传递。

所以你应该能够这样做:

var updateHiddenInput = function (event) {
    var hiddenInput = A.one('#hiddenInput');
    hiddenInput.val(hiddenInput.val() + ',' + event.item.entry); // or event.attrName
}