为什么无法触发jQueryUi自动完成打开事件和焦点事件 [英] Why jQueryUi autocomplete open event and focus event cannot be triggered

查看:99
本文介绍了为什么无法触发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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆