0

我正确地json从服务器获取数据,1,User,2,Courses,3,Organization我将这些数据存储在变量实体中,现在我正在为文本字段添加这个 json 数据以自动完成,然后允许文本框(选项卡)有多个值,如下所示图片。

在此处输入图像描述,

我得到了typeerror undefined is not a functionalert('entities from the 466 line '+e);

谁能帮我?

AUI().ready('aui-textboxlist', function(A) {
try {
    alert('before calling selectEntities()'); 
    var entities = selectEntities();
    console.log(" entities "+entities);
    alert("entities from the server "+entities);

    entitiesBoxList = new A.TextboxList({
        contentBox: '#<portlet:namespace />entitiesDiv',
        dataSource: entities,
        matchKey: 'name',
        schema: {
            resultFields: ['id', 'name']
        },
        queryMatchContains:true,
        queryDelimiter : ',', 
        after: {
            render: function() {
                try{
                    var instance_ = this;
                    var index = 0;
                    this.entries.insert(index, entry);
                }catch (e) {
                    alert("exception raised at 461 line"+e);
                }
            }
        }
    }).render();        
} catch(e){
    alert('entities from the 466 line '+e);
}

}
4

2 回答 2

1

你说它是在线的:

alert('entities from the 466 line '+e);

然后它要么说你的 alert() 不是一个函数(不太可能),要么是你的 'e' 值中的东西。既然你说它包含JSON数据,也许是因为你没有正确解析数据?

可能更好:我注意到您在第 3 行有一个名为 selectEntities() 的函数。也许它指的是该行并且您遇到了绑定问题。

于 2015-01-21T08:31:04.790 回答
0

实际上上面的代码在 Liferay-6.06 中运行良好,我正在尝试将其迁移到 Liferay-6.2,所以 6.06 中的 AUI 版本在 6.2 中不起作用:

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

        // code that uses A.TextboxList goes here
    }); 

该代码适用于 6.2。对于 6.1,我们必须使用 aui-textboxlist 而不是 aui-textboxlist-deprecated。

于 2015-01-22T04:23:31.583 回答