【发布时间】:2013-08-19 00:02:19
【问题描述】:
我正在尝试实现用于输入标签的 jQuery.autocomplete(很像这里的 SO)。但是,我不想显示列表中已有的标签。如果我已经添加了foo,我不希望它显示为建议。标签列表是从我的服务器获取的。但是,我在更改 ui.content 对象时遇到了一些问题。
我使用here找到的响应方式:
response: (event, ui)->
# Fetch already added tags
current = $('input#photo_tag_list').val().split(',')
# Filter out already added tags from result
ui.content = ui.content.filter (el) -> $.inArray(el.label, current) == -1
但是,上述方法不起作用。它仍然显示所有标签。如果我检查 ui.content 我可以看到它看起来是正确的......上面是异步的还是什么?!
奇怪的是,如果我这样做:
ui.content.push({label: "Foo", value:"Bar"})
Foo 出现在自动完成列表中。但如果我这样做:
ui.content = []
它仍然显示返回的所有内容。我希望有一个空列表。
为什么会这样?如何正确修改结果列表?
更新 根据 Andrew Whitaker 的解决方案让它工作。
【问题讨论】:
标签: jquery jquery-ui coffeescript jquery-ui-autocomplete