0

在下面的 jQuery 中,每次用户在文本框中键入时都会显示警报“fire”,但应该只在用户键入与“test”匹配的字母时触发。如何更新下面的代码,以便在匹配时触发警报,而不是每次用户键入时触发?

选择一个项目(输入“j”开始):
$(function() {

    $( "#project" ).autocomplete({
        minLength: 0,
 source: "/getfile?param=testerurl",
        focus: function( event, ui ) {
            $( "#project" ).val( ui.item.label );
            return false;
        },
    })
    .data( "autocomplete" )._renderItem = function( ul, item ) {
        alert('fire');
    };

});

这是由返回的 json

/getfile?param=testerurl

[{ "value": "test","label": "Sizzle JS","desc": "a pure-JavaScript CSS selector engine","icon": "sizzlejs_32x32.png"}]
4

1 回答 1

0

_renderItem 用于编辑/操作/样式化服务器返回的 json,因此每次返回响应时都会触发。

jquery 参考在这里 => http://jqueryui.com/autocomplete/#custom-data

这里有一个工作示例=> http://jsfiddle.net/GtjEv/

 .data( "autocomplete" )._renderItem = function( ul, item ) {
            return $( "<li>" )
                .data( "item.autocomplete", item )
                .append( "<a>" + item.label + "<br>" + item.desc + "</a>" )
                .appendTo( ul );
        }
于 2012-12-04T21:36:05.610 回答