我创建了一个非常基本的用户控件,它是一个附带JQuery自动完成功能的asp.net文本框。这都是在aspx页面中以编程方式定义的。
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script type="text/jscript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
<script type="text/jscript" >
$(function() {
$(".tb").autocomplete({
source: [ <%=GetAutoCompleteData%> ],
});
});
</script>
<asp:TextBox ID="TBAUTO" class="tb" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Search" onclick="Button1_Click"></asp:Button>
当一个控件在页面上时,这非常有效。但是,当我添加另一个时,它们似乎都具有相同的数据,而不应该是这种情况。
当我检查呈现给页面的内容时,它正如我所料,但是当自动完成功能启动时它们都包含相同的数据
这是呈现给页面的内容
任何帮助都将不胜感激。
答案 0 :(得分:1)
从我所看到的,你通过使用$(“。tb”)来链接你的自动完成,它将是一组一个或多个dom元素。尝试使用#而不是下面的
$(function() {
$("#<%= TBAUTO.ClientID %>").autocomplete({
source: [ <%=GetAutoCompleteData%> ],
});
});
答案 1 :(得分:0)
因为我对上述解决方案没有运气,我知道 $(function(){
$(".tb").autocomplete({
source: [ <%=GetAutoCompleteData%> ],
});
工作我只是在页面加载中将CssClass设置为我的代码中的给定变量(DataFilter)并且只是
$(function(){
$(".<%=DataFilter%>").autocomplete({
source: [ <%=GetAutoCompleteData%> ],
});