两个事件在模糊后触发自动完成

时间:2015-12-28 22:44:47

标签: javascript jquery jquery-ui

所以我今天正在使用自动完成功能,通常我没有问题,但今天我从列表中选择项目或只使用输入值时出现奇怪的情况。如果我从列表中选择项目,则事件将触发一次,如果我在then tab中键入项目到下一个字段,它似乎会触发select和change事件。无论我采取什么行动,我都希望事件能够触发一次。

我想我对此的另一个问题是,为什么会发生这种情况呢?

我已将代码放在下面。如果有任何问题请咨询!

$('#ee_id').autocomplete({
    delay : 0,
    source : "<?=APP_BASE?>/assets/server/autocomplete/geteeid.php",
    select : function(event, ui){
        event.preventDefault();
        koolajax.callback(getEmployeeInformation(ui.item.value), getEmployeeInformationDone);   
    },
    change : function(event, ui){
        event.preventDefault();
        var value = $(this).val();
        koolajax.callback(getEmployeeInformation(value), getEmployeeInformationDone);   
    }
});

function getEmployeeInformationDone(response){
    if(response.status){
        $('#comcheckRequestForm').find('input, select, textarea').not($('#ee_id, #temp_agency, #purpose_code__id, #sender, #date')).prop('disabled', false);
        $('#first_name').val(response.first_name);
        $('#last_name').val(response.last_name);
        $('#temp_agency').prop('disabled', true);
    }else{
        bootbox.alert({
            message : response.error,
            backdrop : false,
            callback : function(){
                $('#comcheckRequestForm').find('input, select, textarea').not($('#ee_id, #temp_agency, #purpose_code__id, #sender, #date')).prop('disabled', true);
                $('#first_name').val('');
                $('#last_name').val('');
                $('#ee_id').focus();
            }
        });
    }
}

0 个答案:

没有答案