对DWZ的查找带回与某些框架的冲突解决
一、简述
DWZ是一个国内开源前端UI框架,主要方便做OA项目时进行相应的排版和控件的调取,非常感谢DWZ三个人为大家提供的方便。
DWZ中有一个非常方便的功能叫做查找带回,lookup,通过点击按钮弹出选择框,选择相应信息并带回至之前的界面,但是这个属性有一个问题就是name属性,使用lookup的name属性必须是group.name的格式,这样的话如果后端用了一些MVC的框架就会与后端数据库对象的获取产生冲突,我们项目中用的是ASP.NET MVC,据说SSH也会出现这个问题,所以对DWZ源文件进行了相应修改,取消了对name属性的绑架。
二、修改查找带回
1、修改全局name绑定,3643行
var $input = $(this), inputName = $input.attr("bringbackname");
2、修改th标签,增加新增属性,3836行
bringbackname: $th.attr("bringbackname") || "",
3、修改th标签,给bringbackname属性增加修改顺序功能,3903行
`var bname = $this.attr('bringbackname');
if (bname) $this.attr('bringbackname', bname.replaceSuffix(i));`
4、修改th标签,给lookup标签做相应的修改,3930行
case 'lookup':
var suggestFrag = '';
if (field.suggestFields) {
suggestFrag = 'autocomplete="off" lookupGroup="' + field.lookupGroup + '"' + suffixFrag + ' suggestUrl="' + field.suggestUrl + '" suggestFields="' + field.suggestFields + '"' + ' postField="' + field.postField + '"';
}
html = '<input type="hidden" name="' + field.lookupGroup + '.' + field.lookupPk + suffix + '"/>' + '<input type="text" name="' + field.name + '"' + 'bringbackname="' + field.bringbackname + '"' + suggestFrag + ' lookupPk="' + field.lookupPk + '" size="' + field.size + '" class="' + field.fieldClass + '"/>' + '<a class="btnLook" href="' + field.lookupUrl + '" lookupGroup="' + field.lookupGroup + '" ' + suggestFrag + ' lookupPk="' + field.lookupPk + '" title="查找带回">查找带回</a>';
break;
三、给th标签增加click事件
1、增加myclick属性,3835行
myclick: $th.attr("myclick") || "",
2、增加myclick的case,生成标签,3969行
case 'myclick':
html = '<input type="text" name="' + field.name + '" value="' + field.defaultVal + '" size="' + field.size + '" class="' + field.fieldClass + '" ' + attrFrag + ' onclick="' + field.myclick + '" />';
break;
四、给th标签增加hidden属性
1、增加生产标签的case,3965行
case 'hidden':
html = '<input type="hidden" name="' + field.name + '" value="' + field.defaultVal + '" size="' + field.size + '" class="' + field.fieldClass + '" ' + attrFrag + '/>';
return '<td style="display:none;">' + html + '</td>';
break;
五、总结
相应的修改暂时修改这么多,如果有新的修改再来这里更新。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。