每次警报触发 - jQuery自动完成

时间:2012-12-04 21:19:47

标签: jquery

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

选择一个项目(开始时输入“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"}]

1 个答案:

答案 0 :(得分:0)

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

jquery reference is here => 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 );
        }