我有一个ajaxtoolkit AutoCompleteExtender,其位置为:absolute。我把它放在一个位置为div的div中。这使得扩展程序下拉放置在所有浏览器上都是完美的,除了在Chrome / Safari上,其位置相对于窗口的左上角而不是div。
当我使用与为AutoCompleteExtender生成的HTML相同的css类和内联样式放置另一个ul时,定位在Chrome中正常工作。因此扩展器有一些特定的东西使它在HTML代码的底部呈现(在结束标记之前,因此在计算其位置时不使用div作为它的父级。
我有什么想法可以解决这个问题吗?
代码:
<div class="searching">
<ajaxToolkit:AutoCompleteExtender
runat="server"
ID="biznameOrCategoryAutoComplete"
TargetControlID="txtBizNameOrCategory"
ServicePath="~/AutoComplete.asmx"
ServiceMethod="GetBiznameOrCategoryCompletionList"
MinimumPrefixLength="1"
CompletionInterval="1000"
EnableCaching="true"
CompletionSetCount="10"
CompletionListCssClass="autocomplete_completionCompyNameListElement"
CompletionListItemCssClass="autocomplete_listItem"
CompletionListHighlightedItemCssClass="autocomplete_highlightedListItem"
ShowOnlyCurrentWordInCompletionListItem="true">
</ajaxToolkit:AutoCompleteExtender>
</div>
CSS:
.searching {
margin-left:5px;
padding-top:10px;
width:366px;
position: relative;
}
.autocomplete_completionCompyNameListElement {
background: #fff;
font-family:Arial, Helvetica, sans-serif;
font-size: 17px;
width: 340px !important;
left: 20px !important;
border: 1px solid #d9d9d9;
font-size: 12px;
top: 48px !important;
padding: 2px 4px !important;
}
答案 0 :(得分:6)
尝试在具有spcified <div>
属性的扩展程序后添加纯HTML id
元素,并将此id
值用于扩展程序的CompletionListElementID
属性。
当您将id
传递给扩展程序时,它会将项目作为<div>
元素插入。因此,添加纯HTML <div>
而不是<ul>
可以维护有效的HTML。