jquery ui autocomplete多个远程无法正常工作

时间:2014-01-06 22:14:00

标签: javascript php jquery ajax jquery-ui

所以我可以搜索数据库并返回我想要的值但是当我尝试向输入字段添加多个值时,搜索请求不会返回任何结果。

我的javascript:

$(function() {
function split( val ) {
    return val.split( /,\s*/ );
}   
function extractLast( term ) {
    return split( term ).pop();
}

$( "#tags" )
    // don't navigate away from the field on tab when selecting an item
    .bind( "keydown", function( event ) {
    if ( event.keyCode === $.ui.keyCode.TAB &&
    $( this ).data( "ui-autocomplete" ).menu.active ) {
        event.preventDefault();
    }
})

.autocomplete({
    source: function( request, response ) {
        $.ajax({
            url: "search.php",
            type: "GET",
            dataType: "json",
            data: { term: request.term },
            success: function (data) {
                response($.map(data, function (item) {
                    return { value: item.tag };
                }))

            }
        })
    },

    search: function() {
        // custom minLength
        var term = extractLast( this.value );
        if ( term.length < 2 ) {
            return false;
        }
    },

    focus: function() {
        // prevent value inserted on focus
        return false;
    },

    select: function( event, ui  ) {
        var terms = split( this.value );
        // remove the current input
        terms.pop();
        // add the selected item
        terms.push( ui.item.value );
        // add placeholder to get the comma-and-space at the end
        terms.push( "" );
        this.value = terms.join( ", " );
        return false;
    }
});
});

我回来的json看起来像这样:

[{"tag":"tag1"},{"tag":"tag2"}]

我错过了什么?

0 个答案:

没有答案