jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery-ui – jQGrid jQueryUI自动完成组合框在焦点上自动打开大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我确定我在这个问题上遗漏了一些非常简单的东西.在将我的头撞到桌子上(字面意思)几天之后,我将自己置于堆栈的怜悯之下:

我在jQGrid中使用jQuery UI Autocomplete作为组合框(我知道!我已经在其他地方寻找解决方案无济于事!).当我通过jqGrid中的onSELEctRow事件访问单元格进行编辑时,我希望打开下拉列表.基本上,我想完成这里讨论的内容

Open jQuery UI ComboBox on focus

并演示在这里

http://jsfiddle.net/gEuTV/

唯一的区别是我在jqGrid中需要它.我已经尝试了下面的代码,我(错误地)通过会在行聚焦时触发组合框,但组合框不会出现在onSELEct事件中的行焦点上.我有一种潜在的怀疑,我只是将以下代码放在错误的位置,但我已经尝试过,我能想到的任何地方:

@H_@R_197_11463@_17@$("#"+id+"_usr_validation","#list2").bind("focus",function () { this.value = ''; $(this).autocomplete("search",'');

这是我的完整代码,包括网格:

@H_@R_197_11463@_17@$(function(){ var lastsel; $("#list2").jqGrid({ url: 'PHP_includes/uploadgrid.PHP',datatype: "json",mtype: 'GET',colNames:[ 'User Value','Translated Value','User Validation,],colmodel:[ {name:'usr_value',index:'usr_value',sortable:'true',width:60,align:"center",editable:falsE},{name:'translated_value',index:'translated_value',{name:'usr_validation',index:'usr_validation',editable:truE} ],pager: '#pager2',rowNum: 1000,scroll: true,gridview: true,viewrecords: false,height: 'auto',hidegrid: false,autowidth: true,pgbuttons: false,pginput: false,forceFit: true,emptyrecords: "No record was loaded",onSELEctRow: function(id){ if(id && id==lastsel){ $("#list2").jqGrid('editRow',id,true,autocomp,'',SELEctNonE); } else { if(id && id!==lastsel){ $("#list2").jqGrid('saveRow',lastsel); $("#list2").jqGrid('editRow',SELEctNonE); lastsel=id; } } },editurl: '/PHP_includes/jqGridCrud.PHP',}); jQuery("#list2").jqGrid('navGrid',"#pager2",{edit:false,search:false,del:false,add:falsE}) function SELEctNone(){ $("#list2").jqGrid('resetSELEction'); } //this function de-SELEcts all prev@L_607_17@sly accessed rows function autocomp(id) { var term2 = $("#list2").jqGrid('getCell','usr_value'); $("#"+id+"_usr_validation","#list2") .autocomplete({ source: function(request,responsE) { $.ajax({ url: "/PHP_includes/Autocomplete.PHP",dataType: "json",data: { term : request.term,term2 : term2,},success: function(data) { response(data); } }); },minLength: 0,SELEct: function(event,ui) { $("#list2").val(ui.item.id); },}); $("#"+id+"_usr_validation",function () { this.value = ''; $(this).autocomplete("search",''); }); } });

解决方法

您应该将“用户验证”更改为“用户验证”,并在代码的不同位置删除尾随逗号(例如来自editurl:’/ PHP_includes/jqGridCrud.PHP’,}并关闭JavaScript中的语法错误,但在许多情况下忽略,但不是所有的网络浏览器).

更新:还有一个问题是,在调用oneditfunc之前将设置对编辑字段的关注,因此无法触发“焦点”事件.作为一种解决方法,您@R_944_9341@.bind(“焦点”,……之后)触发“焦点”事件.

查看修改后的演示here.

@H_197_35@
@H_772_38@

大佬总结

以上是大佬教程为你收集整理的jquery-ui – jQGrid jQueryUI自动完成组合框在焦点上自动打开全部内容,希望文章能够帮你解决jquery-ui – jQGrid jQueryUI自动完成组合框在焦点上自动打开所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。