我们已经在一个简单的 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">
谢谢。