【发布时间】:2011-09-10 03:35:34
【问题描述】:
这个自动完成插件可以吗, http://www.devbridge.com/projects/autocomplete/jquery/用于在textarea中渲染数据?
【问题讨论】:
标签: jquery jquery-plugins autocomplete textarea
这个自动完成插件可以吗, http://www.devbridge.com/projects/autocomplete/jquery/用于在textarea中渲染数据?
【问题讨论】:
标签: jquery jquery-plugins autocomplete 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 方法,用于将从服务器接收到的数据渲染到您的文本区域。
【讨论】:
你可以做到,这行得通。需要一些样式才能看起来可用。
<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>
【讨论】: