javascript:設置URL參數的方法,適合多條件查詢
適用場景:多條件查詢情況,如下圖所示:
通過設置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(1); //獲取查詢串 //如果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(0, location.href.indexOf("?") + 1); //截取查詢字符串前麵的url var query = location.search.substring(1); //獲取查詢串 var pairs = query.split("&"); //在逗號處斷開 for (var i = 0; i < pairs.length; i++) { var pos = pairs[i].indexOf('='); //查找name=value if (pos == -1) continue; //如果沒有找到就跳過 var argname = pairs[i].substring(0, pos); //提取name var value = pairs[i].substring(pos + 1); //提取value //如果找到了要修改的參數 if (findText(argname, parms)) { newUrlParms = newUrlParms + (argname + "=" + parmsValue + "&"); } else { newUrlParms += (argname + "=" + value + "&"); } } return newUrlBase + newUrlParms.substring(0, newUrlParms.length - 1); } //輔助方法 function findText(urlString, keyWord) { return urlString.toLowerCase().indexOf(keyWord.toLowerCase()) != -1 ? true : false; } //得到查詢字符串參數集合 function GetUrlParms() { var args = new Object(); var query = location.search.substring(1); //獲取查詢串 var pairs = query.split("&"); //在逗號處斷開 for (var i = 0; i < pairs.length; i++) { var pos = pairs[i].indexOf('='); //查找name=value if (pos == -1) continue; //如果沒有找到就跳過 var argname = pairs[i].substring(0, pos); //提取name var value = pairs[i].substring(pos + 1); //提取value args[argname] = unescape(value); //存為屬性 } return args; } // --></mce:script>
測試代碼:
<body> <input type="button" value="設置URL參數[Test1=AAA]" /> <input type="button" value="設置URL參數[Test1=BBB]" /> <input type="button" value="設置URL參數[Test2=AAA]" /> <input type="button" value="設置URL參數[Test2=BBB]" /> </body>
最後更新:2017-04-02 06:51:36