Почему jQuery прерывает автозаполнение ввода с помощью runat? - PullRequest
0 голосов
/ 17 апреля 2019

Я пытаюсь использовать простой jQuery автозаполнение ввода в моем 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, похоже, не имеет атрибута, который позволяет мне захватывать то, что пользователь вводит как текстовое поле (например: string userCity = uxCities.Text;). Как получить функцию автозаполнения jQuery на стороне клиента, но при этом использовать входное значение на стороне сервера?

1 Ответ

1 голос
/ 17 апреля 2019

Вам нужно получить идентификатор клиента для текстового поля следующим образом:

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

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