簡體   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