我可以在文本区域中使用JQuery自动完成插件吗?

时间:2011-09-10 03:35:35

标签: jquery jquery-plugins autocomplete textarea

这个自动完成插件, http://www.devbridge.com/projects/autocomplete/jquery/用于在textarea中呈现数据?

2 个答案:

答案 0 :(得分:0)

我相信你也可以将它用于textarea。

您需要做的就是在textarea的jQuery元素上调用autocomplete方法。例如,如果您的textarea元素ID是foo,那么您可以使用以下选项调用自动完成:

var options = { 
    serviceUrl:'service/autocomplete.ashx',
    minChars:2, 
    delimiter: /(,|;)\s*/, // regex or character
    maxHeight:400,
    width:300,
    zIndex: 9999,
    deferRequestBy: 0, //miliseconds
    params: { country:'Yes' }, //aditional parameters
    noCache: false, //default is false, set to true to disable caching
    // callback function:
    onSelect: function(value, data){ alert('You selected: ' + value + ', ' + data); },
    // local autosugest options:
    lookup: ['January', 'February', 'March', 'April', 'May'] //local lookup values 
}
$('#foo').autocomplete(options);

您需要添加一个回调函数onSelect方法,您可以将从服务器接收的数据呈现到您的textarea中。

答案 1 :(得分:0)

你可以做到这一点,这是行得通的。需要一些样式才能看起来有用。

<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.autocomplete.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var options, a;
jQuery(function(){
  options = { serviceUrl:'service/autocomplete.ashx' };
   var a = $('#query').autocomplete({ 
    minChars:1, 
    deferRequestBy: 0, //miliseconds
    params: { country:'Yes' }, //aditional parameters
    noCache: false, //default is false, set to true to disable caching
    // callback function:
    onSelect: function(value, data){ alert('You selected: ' + value + ', ' + data); },
    // local autosugest options:
    lookup: ['January', 'February', 'March', 'April', 'May'] //local lookup values 
  });
});

});
</script>
</head>
<body>
<textarea name="q" id="query" ></textarea>
</body>
</html>