这里我使用的是自动推荐插件,
我遇到了获取所选值的问题。
var data = {items: [
{value: "21", name: "Mick Jagger"},
{value: "43", name: "Johnny Storm"},
{value: "46", name: "Richard Hatch"},
{value: "54", name: "Kelly Slater"},
{value: "55", name: "Rudy Hamilton"},
{value: "79", name: "Michael Jordan"}
]};
$("#search_query_top").autoSuggest(data.items, {
selectedItemProp: "name",
selectionLimit: 1,
searchObjProps: "name",
startText: "Search by name,",
resultClick: function(items){ console.log(items);}
});
拜托,任何人都可以帮我解决这个问题,
Here is the documentation for plugin
Similar Question from stack overflow
由于
答案 0 :(得分:1)
以下是我的解决方案:
//this will store all the results.
var mySearchResult = {};
$("#search_query_top").autoSuggest(data.items, {
selectedItemProp: "name",
selectionLimit: 3,
searchObjProps: "name",
startText: "Search by name,",
//each time i add a new item, i store it in the mySearchResult object
selectionAdded: function(item){mySearchResult[(item.clone().find("a").remove().end().text())] = true},
//each time i remove an item, i delete if from mySearchResult and i remove the item from the visual.
selectionRemoved: function(item){delete mySearchResult[(item.clone().find("a").remove().end().text())]; item.remove();}
});
$('#sbmButton').click(function(e){
var tab = [];
for(var k in mySearchResult){
tab.push(k);
}
alert(tab.join("\n"));
});
仍会出现最后一个错误,您添加的第一个项目不会从显示列表项中删除。
您可以在此WORKING DEMO上查看此内容。 我会试着看看这个小虫子发生了什么。
希望它对你有所帮助。
编辑:查看另一个答案,找到更“友好”的方式来做同样的事情。你必须做一些改变,但我认为这是最好的方法。 我真的发现这个插件有点难以找到这个值。最后我不推荐这个。答案 1 :(得分:1)
在asHtmlID: 'aaaaa'
.autoSuggest()
在$('#sbmButton').click()
中,添加console.log($('#as-values-aaaaa').val())