確認ダイアログで選択をキャンセルした後、ユーザーのラジオボタンの選択をキャンセルするにはどうすればよいですか?

jumps4fun

より大きなプロジェクトでは、テキストエリアのテキストを更新するラジオボタンのグループがあります。ただし、テキストを本当に変更するかどうかをユーザーに選択させる必要がある場合もあります。

非表示のラジオボタンを使用していますが、ラベルのみが表示されています。確認ダイアログを表示し、テキスト領域のテキストの変更を防ぐことはできましたが、ラジオボタンが新しくクリックされた要素をチェックするのを実際に停止することはできませんでした。以前にチェックしたラジオボタンへの参照を保存しようとしましたが、コードの後半になっていると思われます。さらに説明するために、私はJSFiddleを作成しました。ボタンのテキストと領域内のテキストが読み込まれると、不一致が発生することはありません。

http://jsfiddle.net/e0bxnghc/1/

では、ユーザーによるラジオボタンの選択をキャンセルする方法はありますか?

HTML:

<nav id="selectors" class="segmented-button">
    <input type="radio" name="group-1" value="car" id="radio1">
    <label for="radio1" class="first">Car</label> 
    <input type="radio" name="group-1" value="boat" id="radio2">
    <label for="radio2">Boat</label> 
    <input type="radio" name="group-1" value="plane" id="radio3">
    <label for="radio3">Plane</label> 
    <input type="radio" name="group-1" value="train" id="radio4">
    <label for="radio4" class="last">Train</label> 
</nav>

    <textarea id="output">output area</textarea>

javascript:

 $(document).ready(function(){
    $('#selectors label').click(function() {    
        var element = $(this).prev();
        var confirmed = false;
        var previousSelected =  $("input[name=group-1]:checked");
        var r = confirm("Are you sure you want to change the text?");
        if (r == true) {
            $("#output").val(element.val());

        } else{
            previousSelected.checked = true;
        }
    });
});
j08691

elseでfalseを返すと、次のようになります。

else{
        previousSelected.checked = true;
        return false;
}

jsFiddleの例

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ