简介EasyUI datagrid editor combogrid搜索框的实现


Posted in Javascript onApril 01, 2016

首先需要datagrid editor对combogrid的扩展,这个是别人实现的:

$.extend($.fn.datagrid.defaults.editors, {
combogrid: {
init: function (container, options) {
var input = $('<input type="text" class="datagrid-editable-input">').appendTo(container);
input.combogrid(options);
return input;
},
destroy: function (target) {
$(target).combogrid('destroy');
},
getValue: function (target) {
return $(target).combogrid('getValue');
},
setValue: function (target, value) {
$(target).combogrid('setValue', value);
},
resize: function (target, width) {
$(target).combogrid('resize', width);
}
}
});

然后将搜索框写在div里面

<div id="Marketer_ID_Member_bar">
<table cellpadding="0" cellspacing="0" style="width: 100%;">
<tr>
<td style="text-align: right; padding-right: 15px">
<input id="userName_Member" placeholder="姓名/用户名" style="width: 100px; border: 0;" />
<input type="button" value="查询" onclick="sy.memberInfo.userSearch_Member();" />
</td>
</tr>
</table>
</div>

通过toolbar: "#Marketer_ID_Member_bar"来绑定

下面肉戏来了,按照我们在别的地方应用combogrid的做法,具体的搜索方法sy.memberInfo.userSearch_Member里面是这样的:

$('#Marketer_ID_Member').combogrid('grid').datagrid('options').queryParams.Name = $("#userName_Member").val();
$('#Marketer_ID_Member').combogrid('grid').datagrid('reload');

然而,在editor里面没有明确的id用来寻找元素,此时第一反应是自己加一个ID行不行,于是我尝试给editor加一个属性“id”,然并卵。

接下来尝试在combogrid加载完成的时候通过Marketer_ID_Member_bar来关联找到它的父级(思路是它是作为combogrid的toolbar,通过它应该能找到combogrid)并赋值id,结果能赋值成功,但是Marketer_ID_Member_bar的父级并不是combogrid,失败。

此时想到去看看别的地方使用combogrid的情况,最终发现,如果我通过$('#txtInputID').combogrid({});把一个input转化成combogrid,此input的class会被变成easyui-validatebox combogrid-f combo-f validatebox-text,通过对比,发现在editor使用的时候,该列的输入框的样式是:datagrid-editable-input combogrid-f combo-f,

这应该就是正主了,同样不方便设置id,于是我们使用样式选择器,所以最终sy.memberInfo.userSearch_Member方法里是这样的:

$('.combogrid-f').combogrid('grid').datagrid('options').queryParams.Name = $("#userName_Member").val();
$('.combogrid-f').combogrid('grid').datagrid('reload');

也是够曲折的,前面开发的时候稍微研究了下没有解决好就没理它,因为还有一个办法可以避过,就是不使用editor,通过弹出框来编辑,也就不是很着急,今天稍微闲一点,又来看看,最终找到个能用的方案。

以上内容是针对EasyUI datagrid editor combogrid搜索框的实现的简单介绍,希望对大家有所帮助!

EasyUI中combogrid的使用方法

ComboGrid用法和参数配置

1、 需要引入class=" "easyui-combogrid”,必须应用在input或select元素中

2、 参数设置需要在data-options中设置

3、 属性参数配置:

loadMsg:加载远程数据,显示的信息

idField:select中选择提交值

textField:select中选择的显示值

mode:定义如何加载DataGrid的数据文本的方式。当设置为“'remote'”模式下,什么类型的用户将被发送http请求参数名为'q'的服务器,以获取新的数据

filter:当数据加载时”mode”设置为”local”,如何选择本地数据源,返回true选择行

4、 方法

options():返回选择对象

grid():返回选择dataGrid对象

setValues(values):设置元素值数组

setValue(value):设置组件的值

clear():清除组件的值

Javascript 相关文章推荐
关于js中window.location.href,location.href,parent.location.href,top.location.href的用法与区别
Oct 18 Javascript
jQuery创建平滑的页面滚动(顶部或底部)
Feb 26 Javascript
javascript正则表达式中的replace方法详解
Apr 20 Javascript
jQuery中常用的遍历函数用法实例总结
Sep 01 Javascript
浅析JavaScript动画模拟拖拽原理
Dec 09 Javascript
JS数组返回去重后数据的方法解析
Jan 03 Javascript
AngularJS使用ng-inlude指令加载页面失败的原因与解决方法
Jan 19 Javascript
微信小程序 WebSocket详解及应用
Jan 21 Javascript
基于JavaScript实现的快速排序算法分析
Apr 14 Javascript
微信小程序扫描二维码获取信息实例详解
May 07 Javascript
sortable+element 实现表格行拖拽的方法示例
Jun 07 Javascript
在vue中通过render函数给子组件设置ref操作
Nov 17 Vue.js
jQuery实现的导航动画效果(附demo源码)
Apr 01 #Javascript
JS中frameset框架弹出层实例代码
Apr 01 #Javascript
JS操作COOKIE实现备忘记录的方法
Apr 01 #Javascript
Atitit.js的键盘按键事件捆绑and事件调度
Apr 01 #Javascript
JS中多步骤多分步的StepJump组件实例详解
Apr 01 #Javascript
js+flash实现的5图变换效果广告代码(附演示与demo源码下载)
Apr 01 #Javascript
js中字符串编码函数escape()、encodeURI()、encodeURIComponent()区别详解
Apr 01 #Javascript
You might like
中国广播史趣谈 — 几个历史第一次
2021/03/01 无线电
ThinkPHP3.2.2的插件控制器功能
2015/03/05 PHP
php使用post数组的键值创建同名变量并赋值的方法
2015/04/03 PHP
详谈PHP编码转换问题
2015/07/28 PHP
Zend Framework教程之连接数据库并执行增删查的方法(附demo源码下载)
2016/03/21 PHP
[原创]网络复制内容时常用的正则+editplus
2006/11/30 Javascript
发一个自己用JS写的实用看图工具实现代码
2008/07/26 Javascript
解决表单中第一个非隐藏的元素获得焦点的一个方案
2009/10/26 Javascript
jQuery 顶部导航跟随滚动条滚动固定浮动在顶部
2014/06/06 Javascript
js使用removeChild方法动态删除div元素
2014/08/01 Javascript
js的toUpperCase方法用法实例
2015/01/27 Javascript
深入了解JavaScript的逻辑运算符(与、或)
2016/12/20 Javascript
无法获取隐藏元素宽度和高度的解决方案
2017/03/07 Javascript
解决cordova+vue 项目打包成APK应用遇到的问题
2019/05/10 Javascript
layui 上传文件_批量导入数据UI的方法
2019/09/23 Javascript
vue-resource 拦截器interceptors使用详解
2021/01/18 Vue.js
[47:04]EG vs RNG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
[09:13]DOTA2-DPC中国联赛 正赛 Ehome vs Magma 选手采访 1月19日
2021/03/11 DOTA
python计算时间差的方法
2015/05/20 Python
讲解Python中fileno()方法的使用
2015/05/24 Python
PyTorch线性回归和逻辑回归实战示例
2018/05/22 Python
Python简单读写Xls格式文档的方法示例
2018/08/17 Python
如何在Django项目中引入静态文件
2019/07/26 Python
基于Python fminunc 的替代方法
2020/02/29 Python
python 等差数列末项计算方式
2020/05/03 Python
python 实现音频叠加的示例
2020/10/29 Python
台湾东南旅游社网站:东南旅游
2019/02/11 全球购物
十八届三中全会学习方案
2014/02/16 职场文书
电台实习生求职信
2014/02/25 职场文书
初中高效课堂实施方案
2014/02/26 职场文书
学习经验交流会主持词
2014/04/01 职场文书
班主任班级寄语大全
2014/04/04 职场文书
临床护理求职信
2014/04/26 职场文书
骨干教师事迹材料
2014/12/17 职场文书
关于flex 上下文中自动 margin的问题(完整例子)
2021/05/20 HTML / CSS
mysql事务对效率的影响分析总结
2021/10/24 MySQL