我想添加智能自動完成到我的項目中,當用戶在任何輸入中輸入一個單詞時,從他自己的字典中自動完成。Jquery:創建一個字典來自動完成所有輸入
主人字典是保存每一個字內置他曾經提交給服務器像(array_values($ _ POST))
我現在的JS
$('input.complete').live('keyup.autocomplete', function(){
var hi=$(this).val().toUpperCase();
var was=this;
$(this).autocomplete({
//PROBLEM Should i consider to change source from ajax/mysql to different source ?
//since there gona be too many requests ??
source: function(request, response) {
$.ajax({ url: '<?=base_url()?>ajax/ac',
//PROBLEM how can i set term=word currently being edited..(start=' ',end=pointerpos)
data: { 'term': this.term },
dataType: "json",
type: "POST",
success: function(data){
if(data.length){
//response(data);
//Commented out cause i dont wana display dropdown.. just typeahead.
if(data[0]['value'].substr(0,hi.length).toUpperCase()==hi){
$(was).val(data[0]['value']);
//currently working with single word inputs..once i get how to select only current word will edit these..
was.selectionStart=hi.length;
was.selectionEnd=data[0]['value'].length;
}
}
}
});
},
select: function(event, ui){},
minLength: 2,
delay: 500
});
就像你看到的,我有2個問題
問題
- 如何我可以選擇用戶正在輸入的當前單詞嗎?
- 這是達到我的目標的好方法,或者我應該考慮不同的插件
[select2](http://ivaynberg.github.com/select2/)是一個很棒的選擇/自動完成插件,有很多配置選項。 – spas