forEach - только установка val на первой итерации? Javascript - PullRequest
0 голосов
/ 23 апреля 2020

У меня есть код:

var jsObj = JSON.parse($(this).parent('td').next('td').text());

Object.keys(jsObj).forEach(function (key) {
    var value = jsObj[key];
    $("#" + key).val(value);
});

Я хочу перебрать ключи объекта javascript, найти элемент ввода с этим именем ключа в качестве идентификатора и установить значение ввода на значение соответствующего ключа в объекте.

Однако этот код устанавливает только значение ввода первых клавиш? Если я сделаю оповещения, он покажет мне все ключи и значения, как я ожидаю, но установка значения фактически только установит первую итерацию в массиве ключей.

Входные данные создаются с помощью бритвы.

Функция запускается при нажатии на ячейку td в модальной таблице. .text () - это строка json, показанная в таблице.

 @foreach (var property in dbObject.GetProperties().ToList())
                        {
                            var attributes = new Dictionary<string, object>();
                            attributes.Add("class", "form-control");
                            attributes.Add("readonly", "readonly");

                                <div class="col-6">
                                    @Html.Label(property.Name, new { @class = "form-label" })
                                    @Html.Editor(property.Name, new { htmlAttributes = attributes})
                                </div>
                        }

image of web

По сути, здесь происходит загрузка всей страницы , Затем пользователь нажимает кнопку, чтобы открыть этот модальный. Затем пользователь щелкает значок поиска в одной из записей, и он берет объект json из соседнего элемента td, анализирует его в объект javascript, затем, используя массив ключей этого объекта, выполняет итерацию по нему, находит каждый вход ниже таблица с тем же идентификатором, что и ключ, и установите значение на значение ключа в объекте js. Как видите, он устанавливает только самый первый вход.

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