介绍:
解析器可是easyui一个重要基础插件,你之所以可以通过简单class定义,在浏览器里面就能展现出一个布局或是面板。全是通过这个插件作为入口,他会获取所有在指定范围内所有定义为easyui组件的class定义,然后在根据后缀定义辨别需要把当前节点解析成为何种组件。
解析器有两种用法:
$.parser.parse();不带任何参数。这种情况下默认是解析页面中所有定义为easyui组件的节点。
$.parser.parse(‘#cc‘); 带一个jquery选择器。通过这种方式我们可以只解析我们局部定义的easyui组件,
需要说明的这个jquery选择器必须是你解析组件的父级以上的节点。也就是说这个查找出来的节点相当于一个容器,它只会解析容器里面的内容。
使用:
说这么多,无非是为了使用,对于Easyui表格中,想要在表格后面拼接一个Easyui样式的按钮控件,以前要不是拼超链接文字,要不是拼接一个图片,从来没有拼接成功过EasyUi样式的按钮,偶然的机会,看到了EasyUI的解析器,终于解决了Easyui表格中拼EasyUI样式控件的问题。
html:
<body> <div id="tb" style="padding: 5px;height: auto;"> <a href="javascript:add();" class="easyui-linkbutton" plain="true" data-options="iconCls:'icon-add'">add</a> <a href="javascript:edit();" class="easyui-linkbutton" plain="true" data-options="iconCls:'icon-edit'">edit</a> <a href="javascript:del();" class="easyui-linkbutton" plain="true" data-options="iconCls:'icon-remove'">del</a> <a href="javascript:detial();" class="easyui-linkbutton" plain="true" data-options="iconCls:'icon-zoom_out'">view</a> </div> <div id="grid" ></div> </body>
JavaScript:
<script type="text/javascript"> onload = function(){ $('#grid').datagrid({ url:getRootPath()+"/tempalte/getTemMiscByDepId.do;" + $.now(), rownumbers:true, pageSize:10, fitColumns:true, pagination:true, striped:true, singleSelect:true, fit:true, columns:[[ {field:'id',title:"id",width:100,hidden:true,align:'center'}, {field:'templatename',title:"templatename",width:200,align:'center'}, {field:'jobtypeid',title:"jobtypeid",width:100,align:'center',hidden:true}, {field:'deptid',title:"depId",width:100,align:'center',hidden:true}, {field:'templatetype',title:"templatetype",width:200,align:'center',hidden:true}, {field:'orderindex',title:"MoveUp/MoveDown",width:90,align:'center', formatter: function(value,row,index){ if(row.id!=""){ var $div = $("<div/>").append("<a href=# class='easyui-linkbutton' iconCls='icon-arrow_up' plain=true onclick='up("+index+")'>GoUp</a> <a href=# class='easyui-linkbutton' iconCls='icon-arrow_down' plain=true onclick='down("+index+")'>Down</a>"); $.parser.parse($div); return $div.html(); } }, }, ]], toolbar: "#tb" }); };
其中,通过$.parser.parse($div);将拼接好的div用easyui的解析器解析一下,这样在formmat的时候就会出现EasyUI的样式。如果单纯的拼接Easyui的的标签,在formmat函数内不会出来Easyui的效果,但是通过$.parser.parse($div)将拼接的带有EasyUI样式的字符串直接解析出来,从而解析出来Easyui的样式,这样就在formmat函数内显示出EasyUI的控件样式来。
效果:
时间: 2024-10-05 04:45:54