Проблема в том, что необходимые данные находятся в свойстве data
объекта data
, поэтому вам необходимо l oop больше data.data
. Кроме того, свойства каждого объекта будут во втором аргументе функции-обработчика, code
в вашем примере. Например, code.bankName
.
Однако стоит отметить, что код можно привести в порядок, а также повысить его производительность с помощью map()
для создания одной строки из option
элементов, которые вы добавляете в DOM. только один раз. Попробуйте это:
let $dropdown = $('#Bank');
$dropdown.html('<option value="" disabled>Select Bank</option>').val('');
// AJAX commented for example only:
//$.getJSON(url, function(data) {
let data = {
"status": true,
"message": "Request Completed",
"data": [{
"id": 1,
"activeFlag": 1,
"bankName": "Union Bank of India",
"details": "Union Bank of India",
"iINNo": "607161",
"remarks": "",
"timestamp": "21/11/2016 16:00:00"
}, {
"id": 2,
"activeFlag": 1,
"bankName": "Bank of India",
"details": "Bank of India",
"iINNo": "508505",
"remarks": "",
"timestamp": "21/11/2016 16:00:00"
}, ],
"statusCode": 0
}
let html = data.data.map(bank => `<option value="${bank.iINNo}">${bank.bankName}</option>`);
$dropdown.append(html);
//});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="Bank"></select>