Могу ли я использовать плагин автозаполнения JQuery в текстовой области? - PullRequest
1 голос
/ 10 сентября 2011

Может ли это автозаполнение плагина, http://www.devbridge.com/projects/autocomplete/jquery/ использоваться для визуализации данных в textarea?

Ответы [ 2 ]

0 голосов
/ 10 сентября 2011

Вы можете сделать это, это работает. Нужно, чтобы стиль выглядел годным к употреблению.

<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>
0 голосов
/ 10 сентября 2011

Полагаю, вы можете использовать это и для текстовой области.

Все, что вам нужно сделать, - это вызвать метод автозаполнения для элемента jQuery вашего текстового поля. Например, если ваш идентификатор элемента textarea равен 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 метод, в котором вы будете отображать данные, полученные с сервера, в текстовую область.

...