繁体   English   中英

选择值已更改时触发的jQuery函数?

[英]jQuery Function that fires when a select value has been changed?

大家好 因此,我正在尝试使用这个简单的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>

我想发生的是,仅在更改选择输入值后,页面才应重定向到jque.php。 但是程序中发生的事情是它自动重定向到另一个页面,甚至没有加载当前页面本身。 有什么问题? jQuery和Javascript对我来说是Web编程领域的未开发领域,我知道这对许多Web程序员来说都是非常基本的,但是我只需要它(当我真的需要时,我真的必须开始学习Javascript,AJAX和jQuery。空闲时间哈哈)。

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

有谁能够帮助我? 谢谢。 答案将不胜感激。

尝试以下方法:

$(function() {
    $("#selector").change(function() {
        location.href = "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
});

PS我注意到你有两个“选择”的选择,介意告诉为什么?

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

有一些语法错误,这是一个解决方法,只需替换您的代码即可。

$( "#selector" ).on('change',(function () {
    var str = "";
    $( "select option:selected" ).each(function() {
        window.location.replace("http://stackoverflow.com");
    });
}));

良好实践:使用jQuery Ajax请求的Jquery的Ajax或使用标准重定向PHP头功能(其中有运行加载你的HTML / JS之前)

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM