我正在使用jQuery TokenInput,它调用node.js中编写的服务。该服务正在给我一个回应。 (我已将其记录在onResult
和resultsFormatter
中。)但令牌的下拉并未显示。
我的服务回复如下:
{
"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");
}
});
响应按预期记录在onResult
和resultsFormatter
中。我尝试将其记录在onAdd
中,但它没有记录。这里的问题是什么?
答案 0 :(得分:1)
这里的问题可能是因为TokenInput正在模态窗口中使用,而下拉列表的z-index是1,而模态窗口可能会更高。
要解决此问题,z-index
中token-input.css
的{{1}}值应修改为高于模态值。