Я нашел лучшее решение - использовать автозаполнение jquery.ui.Затем вы можете легко добавлять курсы.Я использовал его раньше очень успешно в подобных сценариях.Вы также получаете преимущество в том, что вы можете делать ajax-вызовы для больших списков.
Вот пример кода jquery, который выбирает список с сервера на основе того, что пользователь вводит в текстовое поле (routeList - это поле,показать список курсов, routeId - это скрытое поле, содержащее идентификатор выбранного маршрута):
$("#routeList").autocomplete({
source: function (request, response) {
$("#ajax_loader").show(); //Gets the whirly graphic going
$("#routeId").val("0");
var postData = { term: request.term };
var jqxhr = $.post("/Ajax/RouteAutoComplete", $.postify(postData), function (data) {
$("#ajax_loader").hide();
response(data);
});
}
,
minLength: 1,
select: function (event, ui) {
$("#routeId").val(ui.item ? ui.item.id : "0");
}
});
Когда вы отправляете обратно, если routeId = 0, вы можете добавить новый курс на основетекст в routeList