我无法弄清楚为什么这不起作用。这是一个使用Freebase API查找游戏的JQuery搜索框。当我发布POST时,gameID和gameName是空白的。
<link type="text/css" rel="stylesheet" href="http://freebaselibs.com/static/suggest/1.3/suggest.min.css" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="http://freebaselibs.com/static/suggest/1.3/suggest.min.js"></script>
<script type="text/javascript">
$(function() {
$("#game-search").suggest({type:'/games/game'}).bind("fbSelect", function(e, data) {
$("#game-id").val(data.id);
$("#game-name").val(data.name);
});
});
</script>
<form name="input" action="/game-profile" method="post">
<input class="search-box" name="fbSelect" type="text" id="game-search"/>
<input type="hidden" name="gameID" id="game-id" />
<input type="hidden" name="gameName" id="game-name" />
<input class="button" value="Go" type="submit"/>
</form>
答案 0 :(得分:2)
我抓住你的代码并将隐藏的字段更改为type="text"
,这样我就可以在自动完成选择时看到数据。这些字段没有在select上填充,所以我快速浏览了API。
看起来你应该绑定的事件是fb-select
而不是fbSelect
la:
$(function() {
$("#game-search").suggest({type:'/games/game'}).bind("fb-select", function(e, data) {
$("#game-id").val(data.id);
$("#game-name").val(data.name);
});
});
答案 1 :(得分:2)
它看起来不像你绑定的fbSelect事件,会被解雇。您是否已将所有必需的代码部分包括在内?
(通过对原始问题的评论回顾性地回答。@ borkweb更正确。)