【发布时间】:2017-11-14 09:07:47
【问题描述】:
我有这个 JQuery/JS 脚本,它根据选择元素中的哪个选项更改 URL 的 $_GET 参数。它在 Chrome 中运行良好,但在 Safari 6.1.6 中不会更改 $_GET 参数或刷新。
$("#promjena").change(function () {
var v = $("#promjena").val();
var href = window.location.href;
if (v === "1") {
if (href.includes("?akcija=kontrola")) {
window.location.href = href.replace("?akcija=kontrola", "?akcija=default");
} else if (href.includes("?akcija=signal")) {
window.location.href = href.replace("?akcija=signal", "?akcija=default");
} else {
window.location.href = window.location.href + "?akcija=default";
}
}
if (v === "2") {
if (href.includes("?akcija=default")) {
window.location.href = href.replace("?akcija=default", "?akcija=kontrola");
} else if (href.includes("?akcija=signal")) {
window.location.href = href.replace("?akcija=signal", "?akcija=kontrola");
} else {
window.location.href = window.location.href + "?akcija=kontrola";
}
}
if (v === "3") {
if (href.includes("?akcija=default")) {
window.location.href = href.replace("?akcija=default", "?akcija=signal");
} else if (href.includes("?akcija=kontrola")) {
window.location.href = href.replace("?akcija=kontrola", "?akcija=signal");
} else {
window.location.href = window.location.href + "?akcija=signal";
}
}
});
【问题讨论】:
-
您能否通过在更改事件处理程序中执行
console.log(v, href)并检查值来进一步隔离问题?在if之前添加它 -
控制台日志返回:undefined undefined。
-
你必须在
var v = $("#promjena").val();var href = window.location.href;这两行之后放置console.log。你已经把它放在那里了吗? -
对不起,我放错了。这是返回:3http://localhost/papirus/kontrolna_lista/index.php?akcija=kontrola
-
你可以试试
var v = String($("#promjena").val());或var v = $("#promjena").val() + "";
标签: javascript jquery html google-chrome safari