Hi,everyone
Im new to ues jQueryUI
And Now I have some problem with the autocomplete plugin.
It cannot trigger neither the open event or focus events.
I dont know why. Maby there are some thing wrong with my code.
Here is my code:
function cpspAutocompleteLocal(formId,id,menuWidth,label,data,select,close,open,focus){
$(function() {
$("#"+formId).find("#"+id).autocomplete({
minLength:0,
delay: 0,
autoFocus: true,
menuWidth: menuWidth,
source: function(request,response) {
var term=request.term;
response($.map(data,function(item){
var labelS =label(item);
if(labelS.indexOf(term)!=-1) {
var valLab={label:labelS,value:item[id]};
var empty = {};
return $.extend(empty,item,valLab);
}
}));
},
select: function( event, ui ) {
var event = event||window.event;
var cur_obj = $(event.target||event.srcElement);
var form = cur_obj.parents("form:first");
for(var key in ui.item) {
if(form.find("#"+key).length!=0){
if(form.find("#"+key)[0].tagName=='SPAN'||form.find("#"+key)[0].tagName=='DIV') {
form.find("#"+key).html(ui.item[key]);
} else {
form.find("#"+key).val(ui.item[key]);
}
}
}
if(select!=undefined)
select(event, ui);
return false;
},
close:function(event,ui){
var event = event||window.event;
var cur_obj = $(event.target||event.srcElement);
if(close!=undefined)
close(event,ui);
return false;
},
open:function(event,ui){
var event = event||window.event;
var cur_obj = $(event.target||event.srcElement);
if(open!=undefined)
open(event,ui);
return false;
},
focus:function(event,ui){
var event = event||window.event;
var cur_obj = $(event.target||event.srcElement);
if(focus!=undefined)
focus(event,ui);
return false;
}
});
});
}
Here is the call function:
<script type="text/javascript">
cpspAutocompleteLocal("3009","currencyKind",100,function(item){return item.currencyKind+'|'+item.currencyKindName},[{currencyKind:'2',currencyKindName:'甲汇'},{currencyKind:'3',currencyKindName:'乙钞'},{currencyKind:'4',currencyKindName:'乙汇'},{currencyKind:'0',currencyKindName:'丙钞'},{currencyKind:'6',currencyKindName:'丙汇'}]
,function(event,ui){moveFocus(event)},function(event,ui){addEvents(event,'blur',callService(event,'toCPSP_3009_Service',assignment,'balance,usableAmt,controlAmt'))},function(event,ui){moveFocus(event,'blur')},function(event,ui){moveFocus(event,'blur')});
$("#currencyKind").click(function(){
$("#3009").find("#currencyKind").autocomplete( "search", "");
});
</script>
Anyone who can help me? Please! Thank you for your help!