JQueryUI Autocomplete - запуск по всем событиям - PullRequest
0 голосов
/ 06 июня 2011

Я использую автозаполнение пользовательского интерфейса JQuery для извлечения записей из базы данных абонентов.Это хорошо работает для записей, которые находятся в базе данных, но я хочу улучшить обработку новых записей.

Например, если пользователь выбирает имя из предложения, я использую идентификатор возврата позже в форме.Это отлично работает.Если значение не найдено в предложениях, я изо всех сил пытаюсь запустить сценарий, так как он в настоящее время запускается из события select, и для этой функции, похоже, нет события onblur, которое, я думаю, является тем, что мне нужно.Я новичок в JQuery и уже потратил целый день, пытаясь его отсортировать.

Код до сих пор:

$("#contact_name").autocomplete({  
            source: "get-caller-names.php",
            minLength: 2,
        select: function(event, ui) {
                $('#contact_id').val(ui.item.id);
                $('#contact_name').val(ui.item.name);
                $('#contact_email').val(ui.item.email);
                $('#contact_phone').val(ui.item.phone);
                $('#contact_addr').val(ui.item.address);
                }              
        });

Все предложения приветствуются, спасибо.

Ответы [ 2 ]

1 голос
/ 07 июня 2011

Код на случай, если у других возникнет та же проблема ...

// auto-suggest jqueryui
$("#contact_name").autocomplete({
    source: "GetCallerNames.php",
    minLength: 2,
    select: function(event, ui) {
    $('#contact_id').val(ui.item.id);
    $('#contact_name').val(ui.item.name);
    $('#contact_email').val(ui.item.email);
    $('#contact_phone').val(ui.item.phone);
    $('#contact_addr').val(ui.item.address);
    },
    change: function(event, ui) {
    $.ajax({
        type: 'GET',
        url: 'GetCallerNames.php',
        dataType: 'json',
        data: {term:$(this).val()},
        success: function(data) {
            if (data!=null&&data!='') {
            $('#contact_id').val(data[0].id);
            $('#contact_email').val(data[0].email);
            $('#contact_phone').val(data[0].phone);
            $('#contact_addr').val(data[0].address);
            }
        }
        });
    }

    });
0 голосов
/ 06 июня 2011

Не могли бы вы добавить новый обработчик для изменения, например:

$( ".selector" ).autocomplete({
    select: function(event, ui) { ... },
    change: function(event, ui) { ... }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...