У меня есть следующий фрагмент кода:Почему я получаю пустые объекты при нажатии на массив?
var options = [];
$("tr.mks-option-row").each(function (row) {
options.push({
Id: $(row).data("option-id"),
CategoryId: $(row).data("category-id"),
Value: $(row).data("option-text")
});
});
Где .mks-option-row
это селектор для всех строк в таблице. Таблица содержит несколько элементов данных, которые я также повторил как атрибуты данных на самом tr
.
Однако, когда этот фрагмент выполнен, массив options
содержит n
пустой литерал объекта. Если в таблице содержится 4 строки, массив содержит [{},{},{},{}]
Что я здесь делаю неправильно? (Я также попытался использовать идентификаторы в кавычках, без разницы в результатах)
Что такое выход 'console.log (строка, $ (строка))' –
Если вы можете добавить HTML-код, это поможет ответить. –
Это невозможно. Даже если данные не были найдены, вы получите '{Id: undefined, CategoryId: undefined, Value: undefined}'. Вы проверяете вывод с помощью 'JSON.stringify'? Это может объяснить это. Пожалуйста, напишите, как вы получаете '[{}, {}, {}, {}]', а также отправляете пример HTML, который позволяет нам восстановить ваш результат. – Amadan