У меня есть действие контроллера, возвращающее объект JSON банковских отделений, связанных с выбранным банком из пользовательского интерфейса, и его возвращающие банки, и я могу видеть их, когда делаю «консольный журнал (кэш)» в js файл, но пользовательский интерфейс автозаполнения не отображает банковские филиалы, связанные с банком, чтобы я мог выбрать филиалы, в них даже не отображается ошибка. Я делал похожий проект, используя ASP. NET MVC и его работу идеально, но в ASP. NET CORE MVC он не работает Объект json, возвращенный после ajax вызова контроллера, прикреплен к этой ссылке изображения
var cache = {}, selectedBranch = '';
$(function () {
$('#bank').change(function () {
var bankname = { BankName: '{"bank":"' + encodeURIComponent($('#bank :selected').val()) + '"}' };
var $bankBranch = $('#branch');
$bankBranch.html('');
$('#branch_code, #branch, #branch_name').val('');
$.ajax({
url: '/Home/GetBankBranches',
data: JSON.stringify(bankname),
dataType: 'json',
type: 'post',
processData: false,
contentType: 'application/json; charset=utf-8',
error: function (xhr, options, error) {
alert(xhr);
alert(error);
},
success: function (retData) {
cache = [];
console.log(cache);
$.each(retData, function (index, element) {
element.value = element.BranchName;
element.label = element.BranchName;
cache.push(element);
});
$('#branch,#branch_name').removeAttr('readonly').removeAttr('disabled');
$('#branch_code').removeAttr('disabled');
$("#branch").autocomplete({
minLength: 2,
source: cache,
select: function(event, ui) {
selectedBranch = ui.item.BranchName;
$('#branch').val(ui.item.BranchName || '');
$('#branch_name').val(ui.item.BranchName || '');
$('#branch_code').val(ui.item.BranchCode|| '');
$('#branchcode').val(ui.item.BranchCode || '');
$('#branch').parents('.rowElem').find('.selected').text('Selected: ' + $('#branch_name').val());
return false;
}
}).data("ui-autocomplete")._renderItem = function (ul, item) {
return $("<li>")
.append("<a>"+ item.value + item.BranchName/* + "<br />" + item.BranchCode*/ + "</a>")
.appendTo(ul);
};
},
error: function (xhr) {
alert('Error loading bank branches.');
}
});
});
$('#branch').blur(function () {
setTimeout(function () {
$('#branch').val($('#branch_name').val());
}, 1);
});
});
<label>Branch name</label>
<span class="rowElem">
<input type="text" name="Branch" id="branch" value="@Model.BranchName" class="form-control" readonly="readonly" disabled="disabled" />
<span class="selected" style="display:none;"></span>
<input type="hidden" name="BranchName" id="branch_name" class="form-control" readonly="readonly" value="@Model.BranchName" />
</span>
<label for="BranchCode">Branch Code</label>
<span class="rowElem">
<input type="text" name="BranchCode" id="branch_code" value="@Model.BranchCode" class="form-control" readonly="readonly" />
</span>