Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript/Jquery-won';不能在Safari中更改URL参数,但会在Chrome中更改_Javascript_Jquery_Html_Google Chrome_Safari - Fatal编程技术网

Javascript/Jquery-won';不能在Safari中更改URL参数,但会在Chrome中更改

Javascript/Jquery-won';不能在Safari中更改URL参数,但会在Chrome中更改,javascript,jquery,html,google-chrome,safari,Javascript,Jquery,Html,Google Chrome,Safari,我有一个JQuery/JS脚本,它根据select元素中选择的选项更改URL的$\u GET参数。它在Chrome中运行良好,但在Safari 6.1.6中不会更改$\u GET参数或刷新 $("#promjena").change(function () { var v = $("#promjena").val(); var href = window.location.href; if (v === "1") { if (href.includes

我有一个JQuery/JS脚本,它根据select元素中选择的选项更改URL的$\u GET参数。它在Chrome中运行良好,但在Safari 6.1.6中不会更改$\u 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";
        }
    }

});
试试下面的方法

     var v = $("#promjena").attr("value");


一种可能是
val()
正在返回一个数字,而您在
if(v==“1”)
中需要一个字符串,如果这是一个问题,您可以执行以下操作:

 var v = $('#promjena').val() + ''; //to convert to string if not

另一个机会是

您是否可以通过在更改事件处理程序中执行
console.log(v,href)
并检查值来进一步隔离问题?如果控制台日志返回:undefined undefined,则在
之前添加它。必须将
Console.log
放在
var v=$(“#promjena”).val()之后;var href=window.location.href这两行。你已经放在那里了吗?对不起,我放错了。这是回报:3http://localhost/papirus/kontrolna_lista/index.php?akcija=kontrolaCan 您可以尝试
var v=String($(“#promjena”).val()
var v=$(“#promjena”).val()+”
它进入if(v==“1”),但它不会超过if(href.includes(“?akcija=kontrola”){
。我在URL中有?akcija=“kontrola”。使用
if(href.indexOf(?akcija=default”)!=-1)
而不是
包含
(这是旧浏览器不支持的对Javascript的新添加).但是如果你想的话,你可以填。
    var v = parseInt($("#promjena").val()).toString();
 var v = $('#promjena').val() + ''; //to convert to string if not
if(href.indexOf("?akcija=default") !== -1)