mrb*_*lah 23 javascript jquery
当一个人点击链接时,我想这样做:
到目前为止,我有这个,但它不起作用:
window.location.href = "?search=" + escape( $("#someId").val());
Run Code Online (Sandbox Code Playgroud)
Jos*_*ort 23
我需要做一些类似于你想要的东西,所以我把一个允许你做的功能放在一起.我希望它有用.我已经对它进行了相当广泛的测试,没有发现任何问题,如果发现任何问题,请随时告诉我.
function reloadWithQueryStringVars (queryStringVars) {
var existingQueryVars = location.search ? location.search.substring(1).split("&") : [],
currentUrl = location.search ? location.href.replace(location.search,"") : location.href,
newQueryVars = {},
newUrl = currentUrl + "?";
if(existingQueryVars.length > 0) {
for (var i = 0; i < existingQueryVars.length; i++) {
var pair = existingQueryVars[i].split("=");
newQueryVars[pair[0]] = pair[1];
}
}
if(queryStringVars) {
for (var queryStringVar in queryStringVars) {
newQueryVars[queryStringVar] = queryStringVars[queryStringVar];
}
}
if(newQueryVars) {
for (var newQueryVar in newQueryVars) {
newUrl += newQueryVar + "=" + newQueryVars[newQueryVar] + "&";
}
newUrl = newUrl.substring(0, newUrl.length-1);
window.location.href = newUrl;
} else {
window.location.href = location.href;
}
}
Run Code Online (Sandbox Code Playgroud)
该函数接受一个对象文字作为其唯一参数.对象文字应包含要重新加载页面的查询字符串变量.它会考虑现有变量,如果在传递的对象文字中指定现有变量,则会覆盖现有变量.
所以,让我们说我们的位置是http://localhost/helloworld.php
,我想用一个查询字符串变量重定向到当前页面,foo
其值应该是bar
,我将调用该函数如下:
reloadWithQueryStringVars({"foo": "bar"});
Run Code Online (Sandbox Code Playgroud)
浏览器将导航到http://localhost/helloworld.php?foo=bar
.如果我通过以下功能:
reloadWithQueryStringVars({"foo": "bar2"});
Run Code Online (Sandbox Code Playgroud)
浏览器将导航到http://localhost/helloworld.php?foo=bar2
.
由于函数接受对象文字,因此可以将多个属性传递给函数以获取多个查询字符串变量.如果我还在,http://localhost/helloworld.php?foo=bar2
我打电话给如下功能
reloadWithQueryStringVars({"foo": "bar3", "answer": "42", "bacon": "tasty"});
Run Code Online (Sandbox Code Playgroud)
浏览器将导航到 http://localhost/helloworld.php?foo=bar3&answer=42&bacon=tasty
但是在回答这个问题时,你可以按如下方式调用该函数:
reloadWithQueryStringVars({"search": escape( $("#someId").val() )});
Run Code Online (Sandbox Code Playgroud)
window.location.href = window.location.href + "?search=" + escape( $("#someId").val());
?
怎么样:
window.location = "/currentpage.aspx?search=" + escape( $("#someId").val());
Run Code Online (Sandbox Code Playgroud)
要么
window.location = window.location.pathname + "?search=" + escape( $("#someId").val());
Run Code Online (Sandbox Code Playgroud)
等等...
归档时间: |
|
查看次数: |
38956 次 |
最近记录: |