JQueryUI自动完成 - 触发所有事件

时间:2011-06-06 14:59:13

标签: php jquery-ui autocomplete

我正在使用JQuery UI Autocomplete从调用者数据库中提取记录。这适用于数据库中的记录,但我想改进对新记录的处理。

例如,如果用户从建议中选择名称,我将在稍后的表单中使用返回ID。这很好用。如果在建议中找不到该值,我正在努力触发脚本,因为它当前是从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 个答案:

答案 0 :(得分:1)

代码以防其他人有同样的问题...

// 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);
            }
        }
        });
    }

    });

答案 1 :(得分:0)

你能不能为改变添加新的处理程序,例如:

$( ".selector" ).autocomplete({
    select: function(event, ui) { ... },
    change: function(event, ui) { ... }
});