Есть 2 выпадающих списка. Одна категория, а другая подкатегория. Как только я выбираю категорию в раскрывающемся списке, я запускаю JS, где отображаются все подкатегории для выбранной категории. Я получил значения, но при попытке связать данные массива я получаю сообщение об ошибке
Объект не поддерживает свойство или метод 'forEach'
Модель
public class NewRequestView
{
public string SelectedCategory { get; set; }
public IEnumerable<SelectListItem> Categories { get; set; }
public List<SelectListItem> SubCategory { get; set; }
}
Контроллер
public NewRequestView SubCategoriesLookup([FromBody] NewRequestView model1)
{
var newreuest = new NewRequestView();
var lookups = GetSubCategories(model1.SelectedCategory);
newreuest.SubCategory= iMapper.Map<List<SubCategory>, List<SelectListItem>>(lookups);
return newreuest;
}
Мой Java скрипт выглядит следующим образом
$(document).ready(function () {
$('#Category').change(function () {
debugger;
var selectedCategory = GetSelectedItemFromDropDown('#Category');
if (selectedCategory!= undefined && selectedCategory.length == 1) {
var req = { SelectedCategory: selectedCategory[0] };
POST('Home/SubCategoriesLookup', JSON.stringify(req), categoryLookupReceived, errorPostback, undefined);
};
});
});
Успех метода ajax вызывает привязку раскрывающегося списка
categoryLookupReceived= function (data, additionalData) {
debugger;
bindMultiSelectDropdown($("#SubCategoryDDL"), data);}
А функция bindMultiselectDropdown выглядит следующим образом, в которой я получаю сообщение об ошибке при использовании foreach.
function bindMultiSelectDropdown(dropdown, arrDataSource, firstItem) {
var dataSource = [];
if (firstItem != undefined) dataSource.push(firstItem);
if (arrDataSource != undefined) arrDataSource.forEach(function (s) { dataSource.push({ label: s.Text, value: s.Value }); });
$(dropdown).multiselect('dataprovider', dataSource);}
Дайте мне знать, какую ошибку я совершаю.