JQuery搜索不再有效

时间:2010-12-31 04:54:28

标签: javascript jquery forms post freebase

我无法弄清楚为什么这不起作用。这是一个使用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>

2 个答案:

答案 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更正确。)