Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.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
Php 当选择值被更改时激发的jQuery函数?_Php_Javascript_Jquery - Fatal编程技术网

Php 当选择值被更改时激发的jQuery函数?

Php 当选择值被更改时激发的jQuery函数?,php,javascript,jquery,Php,Javascript,Jquery,大家好。因此,我尝试使用这个简单的jQuery程序,它可以在选择值被更改时触发函数。我计划一旦我使这个简单的函数起作用,就在一个更复杂的程序中使用它 这是来自jQuery API网站的代码,我对其进行了轻微的修改,以尝试我想要的结果: <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>change demo</title>

大家好。因此,我尝试使用这个简单的jQuery程序,它可以在选择值被更改时触发函数。我计划一旦我使这个简单的函数起作用,就在一个更复杂的程序中使用它

这是来自jQuery API网站的代码,我对其进行了轻微的修改,以尝试我想要的结果:

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>change demo</title>
    <style>
        div {
        color: red;
        }
    </style>
    <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
</head>
<body>

    <select id="selector" name="sweets">
        <option>Chocolate</option>
        <option selected="selected">Candy</option>
        <option>Taffy</option>
        <option selected="selected">Caramel</option>
        <option>Fudge</option>
        <option>Cookie</option>
    </select>
    <div></div>

    <script>
    $( "#selector" )
        .on('change',(function () {
            $( "select option:selected" ).each(function() {
                <?php header("Location:jcue.php")?>
            });
        })
        .change();
    </script> 
</body>
</html>
我想做的是,一旦select输入值被更改,页面应该只重定向到jque.php。但是程序中发生的事情是,它自动重定向到另一个页面,甚至不加载当前页面本身。有什么问题吗?jQuery和Javascript是我在web编程领域尚未探索过的领域,我知道这对许多web程序员来说是非常基础的,但我只是需要它,当我有空闲时间时,我真的必须开始学习Javascript、AJAX和jQuery哈哈

我将要使用它的复杂程序是一个搜索结果过滤程序。但在我能做到这一点之前,我必须让这个简单的程序工作

有人能帮我吗?非常感谢。答案将不胜感激。

请尝试以下方法:

$(function() {
    $("#selector").change(function() {
        location.href = "jcue.php";
    });
});
这将解决您的问题。

请尝试以下方法:

$(function() {
    $("#selector").change(function() {
        location.href = "jcue.php";
    });
});

这将解决您的问题。

问题在于,您的PHP会在页面加载后立即执行—您无法将其合并到javascript中。此外,您不需要在处理程序中使用each。请尝试以下方法:

$("#selector").on('change',(function () {
    window.location.assign('jcue.php');
});

问题是,当页面加载时,PHP就会被执行——您无法将其合并到javascript中。此外,您不需要在处理程序中使用each。请尝试以下方法:

$("#selector").on('change',(function () {
    window.location.assign('jcue.php');
});

JavaScript是客户端脚本,而PHP是服务器端脚本。您正试图触发一个PHP头重定向,该重定向应该在发送到客户端浏览器之前的服务器时间发生。因此,这将不适用于“更改”事件

只需使用:

$("#selector").change(function() {
    window.location = "jcue.php"; //this can be URL as well
});

另外,我注意到您有两个选择,请告诉我为什么?

JavaScript是客户端脚本,而PHP是服务器端脚本。您正试图触发一个PHP头重定向,该重定向应该在发送到客户端浏览器之前的服务器时间发生。因此,这将不适用于“更改”事件

只需使用:

$("#selector").change(function() {
    window.location = "jcue.php"; //this can be URL as well
});
另外,我注意到你有两个选择,介意告诉我为什么吗?

不太好的做法:使用Javascript重定向,因为JS可以被阻止

有一些语法错误,这里有一个修复,只需替换您的代码

$( "#selector" ).on('change',(function () {
    var str = "";
    $( "select option:selected" ).each(function() {
        window.location.replace("http://stackoverflow.com");
    });
}));
良好实践:使用jquery ajax请求或使用标准函数重定向,在加载html/js之前必须运行标准函数

祝你好运,学习编程。真有趣

不太好的做法:使用Javascript重定向,因为JS可以被阻止

有一些语法错误,这里有一个修复,只需替换您的代码

$( "#selector" ).on('change',(function () {
    var str = "";
    $( "select option:selected" ).each(function() {
        window.location.replace("http://stackoverflow.com");
    });
}));
良好实践:使用jquery ajax请求或使用标准函数重定向,在加载html/js之前必须运行标准函数


祝你好运,学习编程。真有趣

浏览器一看到您的php头文件,它就会执行。为什么要在循环中执行重定向?var str=的作用是什么?我明白了。我太傻了,已经忘了。你建议我怎么做?例如,当选择值被更改时,我需要转到某个URL?忽略该var str。这只是我在修改时忘记删除的一段代码。一旦浏览器查看您的php标头,它就会执行。您为什么要在循环中尝试重定向?var str=用于什么?我明白了。我太傻了,已经忘了。你建议我怎么做?例如,当选择值被更改时,我需要转到某个URL?忽略var str。这只是我在修改时忘记删除的一段代码。基本上解决了我当前的困境。我可以用一种稍微不同的方式来使用CodeIgniter吗?例如,转到URL而不是文件?注意:此处不一定需要$function{}构造,因为脚本位于正文末尾。@ChristianCastillo,是的,您可以使用它CodeIgniter。虽然在本例中,您将通过URL重定向到juce.php文件。这基本上解决了我目前的困境。我可以用一种稍微不同的方式来使用CodeIgniter吗?例如,转到URL而不是文件?注意:此处不一定需要$function{}构造,因为脚本位于正文末尾。@ChristianCastillo,是的,您可以使用它CodeIgniter。虽然在本例中,您将通过URL重定向到juce.php文件。