JQUERY UI-AUTOCOMPLETE не работает в ASP. NET core 2.2 MVC - PullRequest
0 голосов
/ 09 января 2020

У меня есть действие контроллера, возвращающее объект 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...