如何使用 JavaScript 更改当前 URL
How can I change current URL with JavaScript?
>我有一个选择标签来选择要在当前表上显示的"行"数。
<%=select_tag :per_page, options_for_select([10,20,50,100]....some more code...., onchange => "if (this.value) {windows.location='?per_page='+(this.value);}' %>
这工作正常。但是,我还有一个搜索功能,可以更改当前页面的网址,即
www.url.com/blahblah&search="input"
如何在第一个"blah"之后插入一个字符串,并带有onchange事件?因为如果我在进行搜索后更改显示的行数,它会完全忽略搜索参数并再次显示每个结果。
你可以尝试使用这段代码。
$(document).ready(function() {
//jquery
$(location).attr('href');
//pure javascript
var pathname = window.location.pathname;
// to show it in an alert window
alert(window.location);
});
所以一开始你问的问题是什么意思,但我想我明白了。在更改该下拉选择时,您要将两个参数传递到 url 中。这意味着您必须检索当前 URL 的搜索值。您可以通过几种方式执行此操作。
首先,您可以在页面中的某处包含一个隐藏的输入,其中包含搜索参数的值,例如
<input type="hidden" value="[the search param value]" id="search_value"/>
然后使用
document.getElementById("search_value").value;
您只需将其适当地附加到您正在构建的 url 中即可。
另一种方法是访问 location.search
属性,然后使用 RegExp 或 javascript 中的字符串操作方法解析您需要的值的 url。
var urlSearchParams = location.search.replace('?','').split('&');
var valueMap = {};
searchParams.forEach(function(a){
var kv = a.split('=');
valueMap[kv[0]] = kv[1];
});
//get the search value you want
var search = valueMap["search"];
第三种方法是检索参数并将其添加到您使用 rails 模板系统制作的 JS 代码模板中。
相关文章:
- 如何检查这个代码点火器php函数是否工作,该函数是否在ajax url中使用
- 更新URL时使用Javascript函数显示日期
- backbone.js-映射标准url参数-使用多个参数
- 处理HTML类型'电子邮件''url'使用JavaScript
- 在 HTML URL 中使用数组
- 如果 URL 包含使用 JavaScript 重定向的特定端口
- 替换“;var url”;使用文本框输入
- 如何在不重定向用户的情况下更改地址栏URL(不使用历史API?)
- #在URL中使用Javascript
- 在url中使用params时出现404页面
- 如何自动点击下载URL并使用javascript下载文件
- 使选择框在URL中使用变量重新加载页面的最简单方法
- 在重定向URL上使用HubSpot表单数据
- 如何注入$httpParamSerializer以在模板URL中使用
- 想要通过 php javascript 和 ajax 在 URL 中使用单词
- 我如何指向一个充满 json 值的 url 并使用 json2.js 对其进行解析
- 更改 URL 并使用 AJAX 获取响应加载新页面的最佳方法是什么
- 如何在带有双引号的 url 中使用文档写入
- 复制URL并使用JavaScript / jquery粘贴到桌面,iOS和Android上的剪贴板按钮
- Sails.js - 在 url 中使用“包含”或查询以获取适当的 JSON 数据