我有点像试图实现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>
我已经添加了所有雅虎javascript引用和样式表但是当我更改myInput框中的文本时它似乎永远不会进行ajax调用,它也没有显示任何内容......我想我错过了一些东西小鬼...
答案 0 :(得分:3)
@Kriss - 您是否可以发布指向您遇到问题的页面的链接?如果没有看到从服务器返回的内容并查看页面的整个上下文,就很难调试XHR自动完成。
@Adam - jQuery很棒,是的,但是YUI的小部件都是统一的文档和统一许可。今天这是一个引人注目的差异化来源。
答案 1 :(得分:0)
说实话,我知道这不是最有帮助的答案......你应该考虑使用jQuery这些天,因为它在易用性,语法和易用性方面完全打破了YUI。社区关注。
然后你可以蹒跚到http://plugins.jquery.com并找到一大堆很酷的自动完成插件,上面有示例代码等。
希望这有帮助。