适用场景:多条件查询情况,如下图所示:

通过设置URL参数,再结合数据源控件设置的RUL参数,就能进行简单的多条件查询了。

javascript函数:

<mce:script type="text/javascript"><!--
//设置URL参数的方法
function setParmsValue(parms, parmsValue) {
var urlstrings = document.URL;
var args = GetUrlParms();
var values = args[parms];
//如果参数不存在,则添加参数
if (values == undefined) {
var query = location.search.substring(); //获取查询串
//如果Url中已经有参数,则附加参数
if (query) {
urlstrings += ("&" + parms + "=" + parmsValue);
}
else {
urlstrings += ("?" + parms + "=" + parmsValue); //向Url中添加第一个参数
}
window.location = urlstrings;
}
else {
window.location = updateParms(parms, parmsValue); //修改参数
}
} //修改URL参数,parms:参数名,parmsValue:参数值,return:修改后的URL
function updateParms(parms, parmsValue) {
var newUrlParms = "";
var newUrlBase = location.href.substring(, location.href.indexOf("?") + ); //截取查询字符串前面的url
var query = location.search.substring(); //获取查询串
var pairs = query.split("&"); //在逗号处断开
for (var i = ; i < pairs.length; i++) {
var pos = pairs[i].indexOf('='); //查找name=value
if (pos == -) continue; //如果没有找到就跳过
var argname = pairs[i].substring(, pos); //提取name
var value = pairs[i].substring(pos + ); //提取value
//如果找到了要修改的参数
if (findText(argname, parms)) {
newUrlParms = newUrlParms + (argname + "=" + parmsValue + "&");
}
else {
newUrlParms += (argname + "=" + value + "&");
}
}
return newUrlBase + newUrlParms.substring(, newUrlParms.length - );
} //辅助方法
function findText(urlString, keyWord) {
return urlString.toLowerCase().indexOf(keyWord.toLowerCase()) != - ? true : false;
} //得到查询字符串参数集合
function GetUrlParms() {
var args = new Object();
var query = location.search.substring(); //获取查询串
var pairs = query.split("&"); //在逗号处断开
for (var i = ; i < pairs.length; i++) {
var pos = pairs[i].indexOf('='); //查找name=value
if (pos == -) continue; //如果没有找到就跳过
var argname = pairs[i].substring(, pos); //提取name
var value = pairs[i].substring(pos + ); //提取value
args[argname] = unescape(value); //存为属性
}
return args;
} --></mce:script>

测试代码:

<body>
<input type="button" id="Button1" onclick="setParmsValue('Test1','AAA')" value="设置URL参数[Test1=AAA]" />
<input type="button" id="Button2" onclick="setParmsValue('Test1','BBB')" value="设置URL参数[Test1=BBB]" />
<input type="button" id="Button3" onclick="setParmsValue('Test2','AAA')" value="设置URL参数[Test2=AAA]" />
<input type="button" id="Button4" onclick="setParmsValue('Test2','BBB')" value="设置URL参数[Test2=BBB]" />
</body>

javascript:设置URL参数的方法,适合多条件查询的更多相关文章

  1. 多浏览器兼容用javascript获取url参数的方法比较推荐的一种

    多浏览器兼容用javascript获取url参数的方法比较推荐的一种 <script language = javascript> function request(paras){ var ...

  2. javascript获取url参数的方法

    发布:thatboy   来源:Net     [大 中 小] 本文介绍下,在javascript中取得url中某一个参数的方法,这里分享一个小例子,供大家学习参考下.本文转自:http://www. ...

  3. JavaScript获取URL参数公共方法

    写一个JavaScript获取URL参数的通用方法,可以把它放到常用方法的JS文件中调用,直接上代码例子,新手可以学习一下! <!DOCTYPE html> <html lang=& ...

  4. 用JavaScript获取URL参数的方法之一

    若地址栏URL为:abc.html?m=tomms&c=allsearchlist&pageNo=1&pageNum=20&text=1 <script> ...

  5. 使用jquery获取url以及jquery获取url参数的方法

    使用jquery获取url以及使用jquery获取url参数是我们经常要用到的操作 1.jquery获取url很简单,代码如下 1.window.location.href; 其实只是用到了javas ...

  6. 使用jquery获取url及url参数的方法及定义JQuery扩展方法

    1.jquery获取url很简单,代码如下: window.location.href; 其实只是用到了javascript的基础的window对象,并没有用jquery的知识. 2.jquery获取 ...

  7. [开发笔记]-使用jquery获取url及url参数的方法

    使用jquery获取url以及使用jquery获取url参数是我们经常要用到的操作 1.jquery获取url很简单,代码如下: window.location.href; 其实只是用到了javasc ...

  8. 使用jquery获取url及url参数的方法

    使用jquery获取url以及使用jquery获取url参数是我们经常要用到的操作 1.jquery获取url很简单,代码如下: window.location.href; 其实只是用到了javasc ...

  9. 使用jquery获取url以及jquery获取url参数的方法(转)

    使用jquery获取url以及使用jquery获取url参数是我们经常要用到的操作 1.jquery获取url很简单,代码如下 1.window.location.href; 其实只是用到了javas ...

随机推荐

  1. LightOJ 1033 Generating Palindromes(dp)

    LightOJ 1033  Generating Palindromes(dp) 题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid= ...

  2. Non recursive Depth first search

    深度优先非递归实现算法: 1 递归算法: //初始化相关数据结构 DFS(G) ------------------------------------------------------------ ...

  3. Python之路:Python 基础(二)

    一.作用域 对于变量的作用域,执行声明并在内存中存在,该变量就可以在下面的代码中使用. if 1==1: name = 'lenliu' print name 下面的结论对吗?(对) 外层变量,可以被 ...

  4. shell学习之常用命令总结

    1.find命令 主要用途:主要用来做文件查找. 使用方法:查找文件的方式可以基于:文件名,文件时间属性,文件的所有者和组,文件权限属性,文件类型属性,文件大小,另外可以指定 查找目录的深度,排除指定 ...

  5. Oracle Database 12c Release 1 Installation On Oracle Linux 6.4 x86_64

    Create groups and users [root@vmdb12c ~]# groupadd oinstall [root@vmdb12c ~]# groupadd dba [root@vmd ...

  6. mysql语句:批量更新多条记录的不同值

    mysql更新语句很简单,更新一条数据的某个字段,一般这样写: 1 UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_va ...

  7. Object 保存到文件中

    6月4日 Object 保存到文件中  Q. 你添加一个新类到你的项目当中且你希望可以保存这个类的一个实例对象到磁盘文件 并在需要时从磁盘文件读回到内存中  A. 方案  确保你的类遵循 NSCodi ...

  8. hdu1698 Just a Hook 线段树:成段替换,总区间求和

    转载请注明出处:http://blog.csdn.net/u012860063 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1698 Problem ...

  9. android一个弹出菜单的动画(二)

    假设做一个弹出的控件,我们能够进行加入view: 写class SatelliteMenu extends FrameLayout private void init(Context context, ...

  10. C语言中没有main函数生成可执行程序的几种方法

    1.define预处理指令 这种方式很简单,只是简单地将main字符串用宏来代替,或者使用##拼接字符串.示例程序如下: #include <stdio.h> #define begin ...