使用queryParams拿参数


问题描述

因为项目的需求添加了药品类型这个字段,实时数据的查询条件里也增加了按药品类型查询的 查询方式,在完成这个功能时,在使用select来选择查询条件,但选择的查询条件总是0(主用药品),解决方式如下:

  1. java程序
全选 示例 :
private Map<String, Object> getMedicineInfoDatas(int page, int rows,String enterpriseName,String createTime,String query,int isBackUp) throws Exception {

.............................

//这里的isBackUp总是为零,原因是int 的初始化值为0,也就是说参数isBackUp值未传入
if(isBackUp == 1){
			querySql.append(" and ").append(" isBackUp = 1 ");
			objs.add("%"+isBackUp+"%");
		}  
else if(isBackUp == 0){
			
			querySql.append(" and ").append(" isBackUp = 0 ");
			objs.add("%"+isBackUp+"%");
		}
  1. js代码:
全选 示例 :
//select语句如下
 <select id="isBackUp" style="width:100px;">
	<option value="-1">所有</option>
	<option value="0">主用</option>
	<option value="1">备用</option>
 </select>
//普通搜索提交; 使用isBackUp:$("#isBackUp").val()拿到了参数
function serch(v){
$('#data').datagrid('load',{createTime:$("#query").val(),enterpriseName:$("#sele").combobox('getValue'),query:v,isBackUp:$("#isBackUp").val()});
}
/**
  这样是拿到了参数,但默认值无法设置,所以使用了Easyui datagrid里的参数
  queryParams来解决这个问题,如下:

 */
function datagrid(columns){
	var col= eval(columns);
	$('#data').datagrid({
		striped       :true,//各行变色
		border        :false,
		fit           :false,//table自适应,这个如果为true,很多情况下无法显示
		rownumbers    :true,//是否第一列显示序号
		fitColumns    :true,//列自适应
		singleSelect  :true,//只允许选中一行
		pagination    :true,//是否显示页码
		idField       :'encoding',
		url : "",
		queryParams:{isBackUp:-1},
		columns :col,
		onLoadSuccess:function(){
			//一定要加上这一句,要不然datagrid会记住之前的选择状态,删除时会出问题。
			$('#data').datagrid('clearSelections');
		}
	});

你可能感兴趣的:(jquery)