0

jQuery を使用して最初のプログラムに取り組んでいますが、問題が発生しています。ユーザーに日付と順番を選択するように求めるダイアログ ポップアップが pageLoad に表示されます。現在、デバッグの目的で、 .click() が実行されるたびにアラートを出すようにしていますが、何らかの理由で、ユーザーがクリックすると直後に実行されるようです。

Turns 1、2、および 3 の 3 つのラジオ ボタンがあります。ユーザーが Turn 1 をクリックすると、アラートは「1」と表示されます。ユーザーがターン 2 をクリックすると、アラートは「2」などと表示されるはずですが、何らかの理由で、新しい値だけでなく以前の値もアラートされます。すべてのコードを検索しましたが、アラートが 1 つしかないため、何が click() を 2 回呼び出しているのかわかりません。IE と Chrome でテストしましたが、両方とも発生しました。

これは私の .click() 関数です:

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

このjsfiddleを確認すると、コードの残りの部分が表示されます。これにより、問題が何であるかを簡単に把握できるようになることを願っています。

ありがとう!

4

2 に答える 2

2

selector:ラジオボタン ID が異なり、名前を として指定していたため、変更する必要があるためselector、その問題に直面していました。

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

更新されたフィドル

于 2013-07-11T16:24:09.697 に答える
1

変化

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

前の値を表示するポップアップが 1 つだけ発生する

しかし、個人的には

$("#turn-radio input").change( function() { /* do stuff */ } )
于 2013-07-11T16:25:39.107 に答える