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 に答える