2010-09-02 94 views
4

我们在试图让一个非常简单的脚本工作(以及其他人似乎都成功)的尝试中投入了大量时间。最后,我们希望使用JQuery创建一个自动提示文本框,将选定文本的值写入隐藏字段,但这个问题与此无关,因为即使是第一步失败了(但工作示例代码非常受欢迎)。JQuery自动完成:formatItem不起作用

由于一些不清楚的原因,formatItem(和其他格式化函数)没有执行。我们有什么误解?

任何帮助,高度赞赏。

下面的代码(剥去不需要的例子任何东西):

<html> 
<head> 
<title>Why o why?</title> 
    <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://ajax.googleapis.com/ajax/libs/jqueryui/1.8.1/jquery-ui.min.js"></script> 
    <script type="text/javascript"> 
    $(function() { 
     var s = ["a", "b", "ab"]; 
     $("#txtSearch").autocomplete({ 
      source: s, 
      formatItem: function(row, i, n) { return "whatever" }, 
      minLength: 1 
     }); 
    }); 
    </script> 
</head> 
<body> 
    Search <input id="txtSearch" type="text" /> 
</body> 
</html> 

自动提示功能,这样在任何浏览器中工作,但没有浏览器触发formatItem。

+0

你好,不完全确定这个formatItem应该如何触发 - 这不是jQueryUI的自动完成事件之一。 formatItem应该做什么?可能您需要触发的事件是“开放”,当出现建议框时会触发事件。如果我错过了这一点,请提供更多详细信息。谢谢! – lnrbob 2010-09-02 18:35:25

+0

正如Floyd Pink在下面写道的,我们一直在错误的轨道上,将旧插件与新的捆绑版本混淆。 'formatItem'应该格式化建议列表,但另一个更新的方法也会这样做。不管怎么说,还是要谢谢你!! – Olaf 2010-09-02 21:30:51

回答

10

这些方法在绑定到jQuery UI的版本中都被弃用。 检查这migration guide了解更多关于如何现在可以实现旧formatItem,formatMatch等。

+0

就是这样。谢谢一堆! – Olaf 2010-09-02 21:28:34