簡體   English   中英

jQuery .click函數連續執行兩次

[英]jQuery .click function executes twice in a row

我正在使用jQuery開發第一個程序,但遇到了問題。 我在pageLoad上彈出一個對話框,要求用戶選擇日期和轉彎。 現在,出於調試目的,每次.click()執行時,我都會發出警報,由於某種原因,它似乎在用戶單擊之前和之后立即執行。

有三個單選按鈕,分別為1、2和3。當用戶單擊“ 1”時,警報應顯示為“ 1”。 當用戶單擊“ Turn 2”時,警報應顯示“ 2”,以此類推。但是由於某種原因,它會警報先前的值以及新的值。 我搜索了所有代碼,並且只有一個警報,因此我無法弄清楚兩次調用click()的情況。 我已經在IE和Chrome中對其進行了測試,並且兩次都發生了。

這是我的.click()函數:

$("#turn-radio")
    .click(function () {
    turnvalue = $("input[name='turn-radio']:checked").val();
    alert(turnvalue);
});

如果您檢查此jsfiddle ,您將看到我的其余代碼,希望可以更輕松地找出問題所在。

謝謝!

您需要更改selector:由於單選按鈕的ID不同,並且您將名稱指定為selector ,因此您會遇到該問題:

 $("input[name='turn-radio']")
        .click(function () {
        turnvalue = $("input[name='turn-radio']:checked").val();
        alert(turnvalue);
    });

更新小提琴

改變中

$("#turn-radio") to $("#turn-radio label") 

導致僅一個彈出窗口顯示前一個值

但是,我個人會

$("#turn-radio input").change( function() { /* do stuff */ } )

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM