为什么jQuery自动完成输入会与runat冲突?

时间:2019-04-17 12:25:46

标签: jquery asp.net input autocomplete runatserver

我正在尝试在jQuery Web应用程序中使用简单的Asp.Net自动完成输入:

Summary.aspx

 <script type="text/javascript">
    $(function () {
        var cityList = <%= new JavaScriptSerializer().Serialize(ViewState["Cities"]) %>;
        $( "#uxCities" ).autocomplete({
            //source: availableTags
            source: cityList
        });
    });
</script>
...
<div class="ui-widget">
  <asp:Label for="Cities">City </asp:Label>
  <input id="Cities">
</div>

此解决方案在客户端可以正常工作。但是,我还需要获取用户在.cs/C#文件中输入的任何值/文本。当我将runat="server"添加到<input id="Cities">时,jQuery中断了。此外,input似乎没有允许我像texbox(例如:string userCity = uxCities.Text;)那样捕获用户输入内容的属性。如何在客户端获得jQuery自动完成功能,但仍然在服务器端利用输入值?

1 个答案:

答案 0 :(得分:1)

您需要像这样获取文本框的客户端ID:

<input id="Cities" runway=“server” />

$('#<%=Cities.ClientID%>').autocomplete({..});