Easyui的渲染机制是个比较坑的事情,在项目开发中,遇到需要等其渲染完成后处理一些事情,比如为联动的下拉框选中默认值,为某些表单元素自动填充值等!这就需要用到Easyui parser解析器了。官方文档描述如下:
Parser(解析器)
使用方法
- $.parser.parse();
- $.parser.parse('#cc');
属性
属性名 | 属性值类型 | 描述 | 默认值 |
$.parser.auto |
boolean |
定义是否自动解析EasyUI组件。 |
true |
事件
事件名 | 事件参数 | 描述 |
$.parser.onComplete |
context |
在解析器完成解析操作的时候触发。 |
方法
方法名 | 方法参数 | 描述 |
$.parser.parse |
context |
解析EasyUI组件。 |
具体使用案例如下:
<script type="text/javascript">
$.parser.onComplete = function(){
var formId = '#form-membermanage-edit';
$(formId+' input[comboname=province]').combobox('select', '<?=$data['province']?>') // 选择省份
$(formId+' input[comboname=city]').combobox('select', '<?=$data['city']?>') // 选择城市
$(formId+' input[comboname=area]').combobox('select', '<?=$data['area']?>') // 选择地区
$(formId+' input[comboname=logistics_province]').combobox('select', '<?=$data['provinces']?>') // 选择省份
$(formId+' input[comboname=logistics_city]').combobox('select', '<?=$data['citys']?>') // 选择城市
$(formId+' input[comboname=logistics_district]').combobox('select', '<?=$data['districts']?>') // 选择地区
$(formId+' input[comboname=station]').combobox('select', '<?=$data['station']?>') // 选择物流点
// 避免影响其他地方解析器的使用
$.parser.onComplete = function(_1) {Other.parse(_1)};
}
</script>