jQuery tokenInput-无法读取未定义问题的属性

时间:2018-11-30 07:25:15

标签: jquery node.js jquery-tokeninput

我在做什么:

  • 执行HTTP获取请求
  • 当我得到响应时,我将在tokenInput中添加属性之一。 请参见下面的代码

    $http.get('/product/getDetails/'+$scope.productId)
    .then(function (response) {
    
        var brand = response.brand;
        var manufacturer = response.manufacturer;
    
        $http.get('/category/getAllTypes')
        .then(function (response) {
    
        }
    
    
        $timeout(function () {
                $(document).ready(function() {
                    $('#brand').tokenInput("add", {id: brand._id, name: brand.name, isActive: 0, checkStatus: 1});
                    $('#manufacturer').tokenInput("add", {id: manufacturer._id, name: manufacturer.name, isActive: 0, checkStatus: 1});
            })
        }, 500);
    }
    

问题:

我遇到以下错误。

TypeError: Cannot read property 'add' of undefined
at a.fn.init.add (jquery.tokeninput.js:110)
at a.fn.init.$.fn.tokenInput (jquery.tokeninput.js:126) 

我尝试过的事情:

我尝试通过以下方式初始化tokenInput

    $('#brand').tokenInput("../plugins/tokeninput/js/jquery.tokeninput.js");
    $('#brand').tokenInput("add", {id: brand._id, name: brand.name, isActive: 0, checkStatus: 1});

但是它显示了两个tokenInputs。

我进行了很多搜索,但没有找到解决方案。任何帮助/建议将不胜感激。

1 个答案:

答案 0 :(得分:0)

您是否已初始化函数以从url获取结果之后尝试调用它?

例如

$('#brand').tokenInput(/yourApi/, {  

// define the functions:  

    onAdd : function (item) {  
                var tokens = $('#brand').tokenInput('get');
                ...
              },

    ....

}

// now, after above function, you try to populate it "programmatically"

$('#brand').tokenInput("add", {id: brand._id, name: brand.name, isActive: 0, checkStatus: 1});