2011-12-01 48 views
1

我是jquery的新手。 我正在使用下面的代码在文本框中显示autosuggest。jquery autosuggest

$().ready(function() { 
    function formatItem(row) { 
     return row[0] + " (<strong>id: " + row[1] + "</strong>)"; 
    } 

    function formatResult(row) { 
     return row[0].replace(/(<.+?>)/gi, ''); 
    } 

    //$("#suggest1").autocomplete(cities); 

    $("#custName").autocomplete(arrNames, { 
     multiple: false, 
     minChars: 0, 
     width: 190, 
     matchContains: true, 
     autoFill: false, 
     mustMatch: true, 
     max: 20,     
    } 
}); 
}); 

我的问题是我想调用JavaScript函数与arrNames指数作为参数一起当用户从自动提示选择一个名称。请帮帮我。

回答

1

这里是你如何做到这一点(使用jQuery UI自动完成):当从菜单中选择一个项目

选择

触发:

$("#custName").autocomplete(
     source: arrNames, 
     select: function (event, ui) { 
      //Do stuff here 
     }  
    } 

从jQueryUI的网站; ui.item指 所选项目。 select的默认操作是将字段值的文本 替换为所选项目的值。取消此 事件可防止更新该值,但不会阻止 菜单关闭。

编辑:

看来你正在使用自动完成插件从http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/

这个插件已经过时......你应该使用jQuery UI自动完成:http://jqueryui.com/demos/autocomplete/

+0

$(“#CUSTNAME “).autocomplete(arrNames,{ \t \t \t \t multiple:false, \t \t \t \t minChars:0, \t \t \t \t宽度:190, \t \t \t \t matchContains:真, \t \t \t \t自动填充:假, \t \t \t \t mustMatch:假, \t \t \t \t最大:20, \t \t \t \t select:function(event,ui){ \t \t \t alert('You selected:'+ ui.item); \t \t \t} \t \t \t \t});我这样做,但仍然警惕不开放 – vikas27

+0

@vikasTheJavaDeveloper:我编辑我的答案 –