0x800a01b6 - JavaScript ошибка времени выполнения: объект не поддерживает свойство или метод forEach - PullRequest
1 голос
/ 22 марта 2020

Есть 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);}

Дайте мне знать, какую ошибку я совершаю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...