当焦点字段丢失时,内容将从jQuery自动完成中消失

时间:2014-11-25 11:02:33

标签: javascript jquery autocomplete

我的自动填充功能正常,但当我想跳到表单中的其他字段时会出现问题。当自动完成失去焦点时,它的值会消失(也就是在此自动完成消失后我渲染的跨度值)。

function initCaAutocomplete() {
    $(".caSelector").autocomplete({
        source: "/core/index/search-ca/ajax/1",
        minLength: 2,
        select: function (event, ui) {
            var descId = 'desc_' +  $(this).attr('id');
            if ($('span#' + descId).length) {
                $('span#' + descId).html(ui.item.desc);
                $('span#' + descId).attr('title', ui.item.fullDesc);
            } else {
                $(this).after('<span title="' + (ui.item.fullDesc) + '" class="cpv_descHolder" id="' + descId + '">'
                    + ui.item.fullDesc + '</span>');
            }

            ui.item.value = ui.item.code;

            $('.tooltip', $(this).parent()).hide();
        },
        change: function (event, ui) {
            var descId = 'desc_' +  $(this).attr('id');
            var inputId = $(this).attr('id');
            var source = $(this).val();
            $.ajax({
                type   : 'POST',
                url    : '/core/index/search-ca/ajax/1',
                dataType: "text",
                async  : true,
                data   : {
                    term: source
                },
                success: function (response) {
                    var codes = $.parseJSON(response);
                    if (codes.length == 0) {
                        $('#' + inputId).val('');
                        $('span#' + descId).html('');
                    }
                },
                error: function (response) {
                    $('#' + inputId).val('');
                    $('span#' + descId).html('');
                }
            });
        },
        position: { my : "left top", at: "left bottom" }
    });
}

0 个答案:

没有答案