高级搜索一般是一个相对独立的子页面表单,表格、表单使用不做赘述
该子页面通过layer.open添加
$("#seach").on("click",function(){ // 搜索弹窗
layer.open({
type: 2,
title: false,
closeBtn: 0,
shade:0.5,
skin: 'f-r-n',
area: ['80%','700px'],
content: ['${base}/advancedSearch.html','no']
});
});
如何获取子页面信息到父页面呢
方法很多,我认为的最简单实用的是子页面调用父页面函数,把信息作为参数传过去
父页面代码
var mytable = table.render(option);
//(高级搜索页面内部搜索按钮点击事件)调用此函数
function advanced(data) {
option.where.filters = data;
/*更新渲染表格*/
mytable.reload(option);
}
//函数使用范围变化
window.advanced = advanced;
子页面代码
//搜索按钮监听提交
form.on('submit(advancedSubmit)', function(data){
var params = JQgridUtils.getJQgridSearchParameters();
//调用父类函数
parent.advanced(params);
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);//关闭当前页
});
其中JQgridUtils.getJQgridSearchParameters();获取表单提交字段内容,与现在功能无关,不赘述。