typeerror undefined不是函数liferay

时间:2015-01-21 07:28:50

标签: javascript jquery liferay liferay-6 liferay-aui

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

enter image description here

我在typeerror undefined is not a function

中收到了alert('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);
}

}

2 个答案:

答案 0 :(得分:1)

你说这是在线:

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

然后它要么说你的警报()不是一个功能(不太可能) 或者在你的“&#39;值。既然你说它包含JSON数据,也许是因为你没有正确解析数据?

可能更好:我注意到你在第3行有一个名为selectEntities()的函数。也许它引用了那一行并且你有一个绑定问题。

答案 1 :(得分: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。