为什么无法触发jQueryUi自动完成打开事件和焦点事件 [英] Why jQueryUi autocomplete open event and focus event cannot be triggered
本文介绍了为什么无法触发jQueryUi自动完成打开事件和焦点事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
大家好。
我是新来的jQueryUI
现在我遇到了一些问题自动完成插件。
它既不能触发公开活动也不能触发焦点事件。
我不知道为什么。 Maby我的代码有些问题。
这是我的代码:
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:
/* autocompleteLocal */
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!
推荐答案
( function (){
( # + formId).find( # + id).autocomplete({
minLength: 0 ,
延迟: 0 ,
autoFocus: true ,
menuWidth :menuWidth,
source: function (request,response){
var term = request.term;
response(
("#"+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
.map(data,function(item){ var labelS =label(item); if(labelS.indexOf(term)!=-1) { var valLab={label:labelS,value:item[id]}; var empty = {}; return
这篇关于为什么无法触发jQueryUi自动完成打开事件和焦点事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文