Метод автозаполнения JQery UI не фильтрует данные? - PullRequest
2 голосов
/ 14 марта 2019

Автозаполнение Jquery не фильтруется из значений JSON, пожалуйста, посмотрите здесь демо.

https://codepen.io/jprakashrpm/pen/bZLBow

Поле электронной почты JSON не фильтрует, оно только фильтрует только значения меток.

$(function() {

    var projects = [
        {
            label: "jayaprakash",
            email: "jayaprakash.janarthanan@gmail.com",
        },
        {
            label: "karthi",
            email: "karthi.murugan@yahoo.co.in",
        },
        {
            label: "deepak",
            email: "deepak.chandra@outlook.co.in",
        }
    ];

    $( "#name" ).autocomplete({
        source: projects,
        focus: function( event, ui ) {
            $( "#name" ).val( ui.item.label );
            return false;
        },
        select: function( event, ui ) {
            $( "#email" ).val( ui.item.email );
            return false;
        }
    })


    $( "#email" ).autocomplete({
        source: projects,
        focus: function( event, ui ) {
            $( "#email" ).val( ui.item.email );
            return false;
        },
        select: function( event, ui ) {
            $( "#name" ).val( ui.item.label );
            return false;
        }
    })



});

1 Ответ

2 голосов
/ 15 марта 2019

Пожалуйста, используйте код ниже

$(function () {

var projects = [
    {
        label: "jayaprakash",
        email: "jayaprakash.janarthanan@gmail.com",
    },
    {
        label: "karthi",
        email: "karthi.murugan@yahoo.co.in",
    },
    {
        label: "deepak",
        email: "deepak.chandra@outlook.co.in",
    }
];

$("#name").autocomplete({
    source: projects,
    focus: function (event, ui) {
        $("#name").val(ui.item.label);
        return false;
    },
    select: function (event, ui) {
        alert(1);
        console.log(ui.item);
        $("#email").val(ui.item.email);
        return false;
    },
    search: function (oEvent, oUi) {
        // get current input value
        var sValue = $(oEvent.target).val();
        let label = [];
        let data = projects.map((value, number) => {
            if (value.label.includes(sValue)) {
                label.push(value.label)
            }
        })
        $(this).autocomplete('option', 'source', label);
    }

})


$("#email").autocomplete({
    source: projects,
    focus: function (event, ui) {
        $("#email").val(ui.item.email);
        return false;
    },
    select: function (event, ui) {
        $("#name").val(ui.item.label);
        return false;
    },
    search: function (oEvent, oUi) {
        var sValue = $(oEvent.target).val();
        let email = [];
        let data = projects.map((value, number) => {
            if (value.email.includes(sValue)) {
                email.push(value.email)
            }
        })
        $(this).autocomplete('option', 'source', email);
    }

})



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