выберите опцию в выпадающем списке asp в зависимости от текста внутри текстового поля asp с помощью jquery / ajax

#jquery #asp.net #ajax #drop-down-menu

#jquery #asp.net #ajax #выпадающее меню

Вопрос:

Я хочу, чтобы пользователь нажал на кнопку под названием select. Затем выбирается опция в выпадающем списке. Выбранный параметр должен начинаться с первых 10 символов текста в текстовом поле.

Это выпадающий список и текстовое поле.

 <asp:DropDownList runat="server" ID="selDealer"></asp:DropDownList>

<a href="#" class="RemoveLink" >Select</a>
Dealer Name: <asp:TextBox ID="RtnDealerName" runat="server"></asp:TextBox>
  

На данный момент jscript выдает только простое оповещение, чтобы проверить, работает ли ссылка выбора.

 <script language="javascript" type="text/javascript">
 $(function () {       
         $(".RemoveLink").click(function () {
            alert("Yes");


        });
    });
</script>
  

Что мне добавить в скрипт, чтобы выбрать выпадающий вариант, который начинается с первых 10 символов текста в текстовом поле.

Комментарии:

1. Не могли бы вы уточнить требование «закрывает совпадения»? Вы имеете в виду «начинается с» или что-то еще?

2. Отредактировано: таким образом, начало текста опции соответствует первым 10 символам строки текстового поля

Ответ №1:

 $(".RemoveLink").click(function() {
    var regexpToSearch = new RegExp( $("#<%= RtnDealerName.ClientID %>").val().substring(0,10), 'i');

    var optionToSelect = $("#<%= selDealer.ClientID %> option").filter(function(index) {
        return this.innerText.search(regexpToSearch) != -1;
    }).first();

    if(optionToSelect.length != 0){
        $("#<%= selDealer.ClientID %>").val(optionToSelect.val());
    }
});
  

Чтобы сравнить последние десять символов в текстовом поле с последними десятью символами параметра, измените выражение, чтобы создать regexpToSearch, как показано ниже:

     var selDealerText = $("#<%= RtnDealerName.ClientID %>").val();
    var regexpToSearch = new RegExp(selDealerText.substring(Math.max(selDealerText.length - 10, 0))   '$', 'i');
  

Комментарии:

1. я получаю сообщение об ошибке… System.Web.HttpException: коллекция элементов управления не может быть изменена, поскольку элемент управления содержит блоки кода (т.е. <% … %>).

2. Переместите этот скрипт из тега заголовка в тело

3. Как бы я изменил, чтобы сопоставить последние десять символов значения текстового поля с последними десятью символами .val выпадающего списка