2016-07-24 2 views
0

Я использую помощник DropDownListFor в представлении ASP.NET MVC Razor, который содержит коллекцию SelectListItems. Выбранный элемент отправляется обратно контроллеру. Однако, поскольку список предметов растет, помощник DropDownListFor станет хлопотным. Я думал об использовании функции AutoComplete, чтобы пользователь мог начать вводить запись в список, и предложения будут заполнять список.ASP.NET MVC 5 DropDownListFor AutoComplete

Здесь есть examples, которые используют TextBoxes, но DropDown выглядит так, как будто это будет работать лучше всего здесь.

Есть ли у кого-нибудь идеи о том, как я буду использовать jQuery для достижения своих целей или есть ли другие предложения?

+0

Там много плагинов jquery, которые предоставляют вам эту функциональность, включая [jQuery Autocomplete] (https://jqueryui.com/autocomplete/#remote) –

ответ

1

Это работает для меня. Он использует jquery ui. Я должен добавить api на веб-сайт, чтобы получить значения для выпадающего списка.

$(document).ready(function() { 
     $("#mytextbox").autocomplete({ 
      source: function (req, res) { 
       $.ajax({ 
        url: '/mysite/api/MyController/' + req.term, //+ you can add other filters here, 
        type: "GET", 
        dataType: "json", 
        success: function (data) { 

         res($.map(data, function (item) { 
          return { 
           label: item.MyDisplayLabel, 
           mykey: item.mykey, 
           value: item.myvalue 

          }; 
         })); 
        }, 
        error: function (XMLHttpRequest, textStatus, errorThrown) { 
         alert(mymessage); 
        } 
       }); 
      }, 
      minLength: 3, 
      delay: 500, 
      select: function (event, ui) { 
       $("#myhiddentextboxThatacceptsValueOfDropDownBox").val(ui.item.mykey); 
      } 

     }); 
    }); 
0

I конец самый простой (не обязательно самый дешевый), чтобы использовать контроль клиента от Telerik.

Спасибо за ваши ответы.

Смежные вопросы