jQuery TokenInput:没有添加令牌

时间:2014-05-15 11:32:21

标签: javascript jquery jquery-tokeninput

我正在使用jQuery TokenInput,它调用node.js中编写的服务。该服务正在给我一个回应。 (我已将其记录在onResultresultsFormatter中。)但令牌的下拉并未显示。

我的服务回复如下:

{
    "data": [
        {
            "name": "a",
            "key": 1023040,
            "subtext": "abc"
        },
        {
            "name": "b",
            "key": 1023040,
            "subtext": "pqr"
        }
    ]
}

JavaScript代码如下。

       $("#myInputTextBox").tokenInput('http://myWebService', {
            crossDomain: true,
            theme: "facebook",
            minChars: 3,
            resultsFormatter: function(item) { 
                console.log("<li><p class='added' data-id='" + 
                            item.key + "' data-name='" + item.originalName + 
                            "'>" + item.name + "</p></li>");
                return "<li><p class='added-cities' data-id='" + 
                item.key + "' data-name='" + item.originalName + 
                "'>" + item.name + "</p></li>" 
            }, 
            onResult: function (results) {
                 results = results["data"];
                 $.each(results, function (index, value) {
                        value.originalName = value.name;
                        value.id = value.key;
                        value.name = value.name + " " + value.subtext;
                 });
                console.log(results);
                return results;
            },
            onAdd: function(item) {
                console.log("addrd");
            }
        });

响应按预期记录在onResultresultsFormatter中。我尝试将其记录在onAdd中,但它没有记录。这里的问题是什么?

1 个答案:

答案 0 :(得分:1)

这里的问题可能是因为TokenInput正在模态窗口中使用,而下拉列表的z-index是1,而模态窗口可能会更高。

要解决此问题,z-indextoken-input.css的{​​{1}}值应修改为高于模态值。