使用queryParams拿参数

在项目中遇到一个问题,需要根据药品类型进行实时数据查询。在选择查询条件时,选择的药品类型总是默认为0(主用药品)。解决方法涉及到Java和JavaScript代码,通过正确获取URL中的queryParams来解决查询条件获取错误的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


问题描述

因为项目的需求添加了药品类型这个字段,实时数据的查询条件里也增加了按药品类型查询的 查询方式,在完成这个功能时,在使用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 : "<c:url value='/store/medicineInfo/getMedicineInfoData'/>",
		queryParams:{isBackUp:-1},
		columns :col,
		onLoadSuccess:function(){
			//一定要加上这一句,要不然datagrid会记住之前的选择状态,删除时会出问题。
			$('#data').datagrid('clearSelections');
		}
	});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值