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

通过设置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. 比赛F-F Perpetuum Mobile

    比赛F-F     Perpetuum Mobile 题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=86640#problem/ ...

  2. BZOJ 3304: [Shoi2005]带限制的最长公共子序列( LCS )

    求个LCS, 只是有了限制, 多加一维表示匹配到z串的第几个, 然后用滚动数组 ------------------------------------------------------------ ...

  3. tomcat手动发布

    有些时候不能通过eclipse中的server服务发布工程,这时候就只能通过手动配置进行发布了 如下: 配置发布路径:D:\Program Files\apache-tomcat-6.0.10\con ...

  4. XML 学习之保存节点

    XmlDocumnet WriteTo 方法 说明: 保存xmldocument对象节点到xmlwriter(即xml文件写入流) 实例: public static void WriteXml( X ...

  5. Kali Rolling在虚拟机安装后的设置

    Kali Linux在2016年的第一个发行版——Kali Rolling是Debian的即时更新版,只要Debian中有更新,更新包就会放入Kali Rolling中,供用户下载使用.它为用户提供了 ...

  6. Python网络编程——处理套接字错误

    在网络应用中,经常会遇到这种情况:一方尝试连接,但另一方由于网络媒介失效或者其他原因无法响应. Python的Socket库提供了一个方法,能通过socket.error异常优雅地处理套接字错误. 1 ...

  7. Windbg调试命令详解(2)

    转载注明>>  [作者:张佩][原文:http://blog.csdn.net/blog_index] 2. 符号与源码 符号与源码是调试过程中的重要因素,它们使得枯燥生硬的调试内容更容易 ...

  8. java的数据类型,几个java小程序

    1:求圆的面积 还好看了c++,不然直接看这课件还真是看不懂……加油吧 要从键盘读入数据可以用Scanner类的nextlnt()或者nextDouble()方法,首先创建Scanner类的一个实例, ...

  9. portal---easyui

    一,效果图. 二,源代码. <!doctype html><html><head> <meta http-equiv="Content-Type&q ...

  10. 为什么 Flask 有那么多的好评?

    著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:松鼠奥利奥链接:http://www.zhihu.com/question/28902969/answer/42530571来 ...