用户控件JQuery问题

时间:2012-09-14 09:28:58

标签: jquery sharepoint sharepoint-2010 user-controls

我创建了一个非常基本的用户控件,它是一个附带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>

当一个控件在页面上时,这非常有效。但是,当我添加另一个时,它们似乎都具有相同的数据,而不应该是这种情况。

当我检查呈现给页面的内容时,它正如我所料,但是当自动完成功能启动时它们都包含相同的数据

这是呈现给页面的内容 This is what is rendered to the page

任何帮助都将不胜感激。

enter image description here

2 个答案:

答案 0 :(得分:1)

从我所看到的,你通过使用$(“。tb”)来链接你的自动完成,它将是一组一个或多个dom元素。尝试使用#而不是下面的

    $(function() {      
        $("#<%= TBAUTO.ClientID %>").autocomplete({          
        source: [ <%=GetAutoCompleteData%> ],       
        });  
    });   

答案 1 :(得分:0)

因为我对上述解决方案没有运气,我知道  $(function(){

$(".tb").autocomplete({ 

    source: [ <%=GetAutoCompleteData%> ], 

}); 

工作我只是在页面加载中将CssClass设置为我的代码中的给定变量(DataFilter)并且只是

$(function(){

$(".<%=DataFilter%>").autocomplete({

    source: [ <%=GetAutoCompleteData%> ],

});