Javascript jQuery-UI自动完成问题

Javascript jQuery-UI自动完成问题,javascript,jquery,jquery-ui,autocomplete,getjson,Javascript,Jquery,Jquery Ui,Autocomplete,Getjson,使用 我的函数看起来是这样的 mailto_input.bind( "keydown", function( event ) { if ( event.keyCode === $.ui.keyCode.TAB && $( this ).data( "autocomplete" ).menu.active ) { event.preventDefault(); } }).autocomplete({ source: function( req

使用

我的函数看起来是这样的

mailto_input.bind( "keydown", function( event ) {
    if ( event.keyCode === $.ui.keyCode.TAB && $( this ).data( "autocomplete" ).menu.active ) {
        event.preventDefault();
    }
}).autocomplete({
    source: function( request, response ) {
        $.getJSON( "core/search.php", {
            term: extractLast( request.term )
        }, response );
    },
    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;
    }
});
我试图实现的是,限制用户只选择服务器端数据。我的意思是,我只想在PHP端有任何结果的情况下向输入框中添加术语。否则,通知用户,服务器中并没有类似于此术语的数据

例如

我想防止添加像sdsf这样的词,在这种情况下,服务器的响应像[]。换句话说,仅当服务器端至少有一个建议时才添加。否则保持原样,并将问题通知用户

可能吗?我怎样才能达到这个结果呢?

试试看。它正是你想要做的


此外,这里还有一个确保它是您想要的…

好吧,他们这样做的方式是用标签交换跨度

<div id="taginput">
    <span id="tags">
    <span>tagname</span>
    </span>
    <input type="text" id="tagtext"/>
</div>
您必须这样做,以便将建议作为跨度添加到之前:

$('.suggestion_element_class').click(function() {
    textof = this.text();
    $('#tags').append('<span>' + textof + '</span>');
    $('#tagtext').val('');
});

当然,您必须首先获得建议和所有内容。

您的意思是像stackoverflow处理标记一样?尝试查看stackoverflow页面,但无法找到我需要的内容。当您键入诸如gsfs之类的内容时,它不会阻止用户键入gsfs,而用户实际上无法将其作为标记输入。只有PHP返回的结果才会转换为标记。当用户提交表单时,您可以轻松筛选出非标记条目。