Asp.net MVC5 jquery возвращает только последнее значение в списке
Привет,
У меня есть список дисков в выпадающем списке, и я хотел бы отобразить список каталогов, выбрав любой диск.
Список Имен Дисков:
var drives = Directory.GetLogicalDrives().ToList(); ViewBag.Drives = new SelectList(drives);
Отображается только последняя Алфавитная папка/каталог, даже если метод возвращает все.
Пожалуйста помочь.
Что я уже пробовал:
Метод в контроллере для перечисления каталогов:
public JsonResult GetDirectories(string drive) { var d = new List<string>(); foreach (var directories in new DirectoryInfo(drive).GetDirectories()) { d.Add(directories.Name); } var dr = new SelectList(d.ToList()); return Json(dr, JsonRequestBehavior.AllowGet); }
JQuery в поле зрения:
<script type="text/javascript"> $(document).ready(function(){ $("#Drives").change(function () { var d = $("#Drives").val(); $.ajax({ type: "post", url: "/Explorer/GetDirectories?drive=" + d, data: { drives: $("#Drives").val() }, data: "json", traditional: true, success: function (data) { var folders = ''; for (var i = 0; i < data.length; i++) { folders = folders + '<li class="list-group-item"> <a href="" class = "fa fa-folder">'+data[i].Text+'</a> </li>'; } $('#folders').html(folders); } }); }); }); </script>
ZurdoDev
Отладьте его и узнайте, что происходит.
nyt1972
не знаете, как отлаживать код JQuery?
ZurdoDev
Нажмите клавишу F12 в браузере, чтобы открыть инструменты разработчика. Затем, в зависимости от браузера, вероятно, есть вкладка для источника, где вы увидите код javascript. Затем вы можете поставить точки останова и пошагово пройти через код.
nyt1972
Большое спасибо, это была логическая ошибка в скрипте JQuery, я тоже исправил и обновил свой вопрос.