3

我有点想实现 YUI 自动完成文本框。这是代码:

<div id="myAutoComplete"> 
<input id="myInput" type="text" /> 
<div id="myContainer"></div> 
</div>
<script type="text/javascript">
YAHOO.example.BasicRemote = function() {
oDS = new YAHOO.util.XHRDataSource("../User/Home2.aspx");
// Set the responseType
oDS.responseType = YAHOO.util.XHRDataSource.TYPE_TEXT;
// Define the schema of the delimited results
oDS.responseSchema = {
recordDelim: "\n",
fieldDelim: "\t"
};
// Enable caching
oDS.maxCacheEntries = 5;

// Instantiate the AutoComplete
var oAC = new YAHOO.widget.AutoComplete("myInput", "myContainer", oDS);
oDS.generateRequest = function(sQuery) {
return "../User/Home2.aspx?method=" + "SA&Id="+document.getElementById("lbAttributes")[document.getElementById("lbAttributes").selectedIndex].value +"&query="+sQuery;
};
oAC.queryQuestionMark =false;
oAC.allowBrowserAutoComplete=false;
 return {
 oDS: oDS,
 oAC: oAC
 };
}
</script>

我已经添加了所有 yahoo javascript 引用和样式表,但是当我更改 myInput 框中的文本并且它也没有显示任何内容时,它似乎从来没有进行 ajax 调用......我想我错过了一些东西。 .

4

2 回答 2

3

@Kriss——你能发布一个链接到你遇到问题的页面吗?如果不查看从服务器返回的内容并查看页面的整个上下文,就很难调试 XHR 自动完成功能。

@Adam —— jQuery 非常棒,是的,但是 YUI 的小部件都有统一的文档和统一的许可。这是今天引人注目的差异化来源。

于 2008-12-10T18:04:28.143 回答
0

老实说,我知道这不是最有帮助的答案……这些天你应该考虑使用 jQuery,因为它在易用性、语法和社区关注方面完全把 YUI 从水中吹走了。

然后你可以蹒跚学步地访问http://plugins.jquery.com并找到一大堆带有示例代码等的很酷的自动完成插件。

希望这可以帮助。

于 2008-12-10T15:42:34.277 回答