使用jQuery UI 1.8尝试自动完成
除了ui菜单不在我的输入元素下方,而是在左上角之外,其他所有功能都起作用。
有人遇到过这个问题吗?
这是我的html:
<div id="search"> <div id="searchFormWrapper"> <form method="post" name="searchForm" id="searchForm" action="/searchresults"> <label for="searchPhrase" id="searchFor"> Search for</label> <input name="searchPhrase" id="searchPhrase" type="text" /> <label for="searchScope" id="searchIn"> in</label> <select name="searchScope" id="searchScope"> <option value="">All Shops</option> ... </select> <input type="image" name="submitSearch" id="submitSearch" src="/images/buttons/search.gif" alt="Search ..." /> </form> <br class="clear" /> </div> </div>
这是我的CSS:
#search { width:100%; margin:0; padding:0; text-align:center; height:36px; line-height:36px; background:#666 url(/images/interface/info_bar_bg.gif) repeat-x top left; overflow:hidden; font-size:12px; } #searchFormWrapper { width:520px; height:36px; overflow:hidden; margin:auto; padding:0; } label#searchFor { display:block; float:left; width:80px; padding:0 5px 0 0; margin:0 0 0 0; text-align:right; } label#searchIn { display:block; float:left; width:20px; padding:0 5px 0 0; margin:0 0 0 0; text-align:right; } #searchPhrase { display:block; float:left; width:120px; margin:7px 0 0 0; padding:0; } #searchScope { display:block; float:left; width:120px; margin:7px 0 0 0; padding:0; } #submitSearch { display:block; float:left; margin:7px 0 0 10px; padding:0; }
这是我的JavaScript:
$(document).ready(function() { $("#searchPhrase").autocomplete( { source: "/search?json", minLength: 2 }); });
呜呼。找到了罪魁祸首:
<script type="text/javascript" src="/scripts/jquery/132/jquery-1.4.2.min.js"></script> <script type="text/javascript" src="/scripts/jquery/132/jquery-ui-1.8.custom.min.js"></script> <script type="text/javascript" src="/scripts/jquery/100325/jquery.dimensions.js"></script> <script type="text/javascript" src="/scripts/jquery/100325/jquery.tooltip.js"></script>
不要包含jquery.dimensions.js。我认为它已经在jquery-ui.js中了……无论如何,它解决了我的问题。
对于最新的jqueryUI,您现在需要包含jquery.ui.position.js