我们已经在一个简单的 HTML 页面中测试了 Jquery UI (jquery-ui-1.8.10.custom.min.js) 自动完成功能,该功能有效。
然后我们将相同的代码复制到 Asp.net 用户控件中,它停止工作。 Javascript 错误显示为“$searchBox.autocomplete 不是函数”。
此用户控件正在 Asp.net Sitefinity 3.7 项目中使用。在页面上它有一个 ScriptManager。不确定我还能添加什么...
有人知道这是怎么回事吗?
修改:
<script src="/js/jquery-1.5.min.js" type="text/javascript"></script>
<script src="/js/jquery-ui-1.8.10.custom.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
var termTemplate = "<span class='ui-autocomplete-term'>%s</span>";
$('input#searchInput').autocomplete({
source: ['johannesburg z', 'johannesburg x', 'johannesburg v', 'johannesburg b', 'johannesburg a', 'johannesburg q', 'johannesburg u', 'johannesburg y', 'johannesburg o', 'johannesburg p'],
minLength: 3,
open: function (e, ui) {
var
acData = $(this).data('autocomplete'),
styledTerm = termTemplate.replace('%s', acData.term);
acData
.menu
.element
.find('a')
.each(function () {
var me = $(this);
me.html(me.text().replace(acData.term, styledTerm));
});
}
});
});
</script>
<div class="outerSearchBox">
<div class="searchFieldWrapper">
<input id="searchInput" type="text" class="searchField" /><a class="searchButton">SEARCH
</a>
<div class="searchSugContainer">
谢谢。
最佳答案
该错误通常意味着 jquery 或插件尚未加载。在加载文档之前检查您的函数调用是否被命中:
$(function(){
var $searchBox = $('#mysearchBox');
$searchBox.autocomplete(...);
});
还要检查 javascript 文件的路径是否正确。 Firebug或 google chrome 开发者工具可用于检查这两个问题。
关于javascript - 自动完成 "is not a function",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5169009/