
2つのラジオボタンが変更され、又、初期値に戻った時の制御について教えてください。
<form name="form1" id="form1">
<div>
<input type="radio" name="sel1" id="sel1" value="0">111
<input type="radio" name="sel1" id="sel1" value="1" checked>222
</div>
<div>
<input type="radio" name="sel2" id="sel1" value="0" checked>AAA
<input type="radio" name="sel2" id="sel1" value="1">BBB
</div>
<span name="status" id="status">あいうえお</span>
-----------------
sel1=1「222」、sel2=0「AAA」 の選択が初期値で、statusに「あいうえお」と表示されています。
フォーム内で、sel1、又は、sel2が変更された際に、statusの「あいうえお」の文字を
「変更中」と表示し、初期値の、sel1=1「222」、sel2=0「AAA」 の選択状態に戻った時は、
statusの文字列も初期値の「あいうえお」と表示を戻したいです。
どのようにJavascriptで制御すればよろしいでしょうか。
宜しくお願い致します。
No.1ベストアンサー
- 回答日時:
こんにちは
初期の状態にどれだけのバリエーションがあり得るのか不明なので、かなり適当ですが・・・
※ デフォルトのチェックと比較していますので、「初期設定でチェックのないボタン群」が存在すると、一旦チェックした後は、二度と初期状態には戻らないことになります。
※ ご質問には関係ありませんが、ご提示のHTMLの「id="sel1"」は文法違反になるので、止めた方がよろしいでしょう。
<!DOCTYPE HTML>
<html lang="ja">
<head><title>Sample</title>
</head>
<body>
<form name="form1" id="form1">
<div>
<input type="radio" name="sel1" value="0" />111
<input type="radio" name="sel1" value="1" checked />222
</div>
<div>
<input type="radio" name="sel2" value="0" checked />AAA
<input type="radio" name="sel2" value="1" />BBB
</div>
<span name="status" id="status">あいうえお</span>
</form>
<script>
{
let frm = document.getElementById('form1');
let st = document.getElementById('status'), sv = st.textContent;
frm.addEventListener('change', ()=>{
let f = true;
frm.querySelectorAll('input[type="radio"]:checked')
.forEach( e=>{ f *= e.defaultChecked; });
st.textContent = f?sv:'変更中';
});
}
</script>
</body>
</html>
ありがとうございます!! すばりやりたいことが実現出来ました。
文法違反の事まで教えていただいて感謝いたします。
本当に助かりました。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ラジオボタンにタブインデック...
-
ラジオボタンで選択した項目の...
-
<input>の選択肢をプルダウンメ...
-
Selectボックスの幅を自動で広...
-
javaScriptの変数をJavaの変数...
-
JavaScriptのfileオブジェクト...
-
<JavaScript>tableタグを入力不...
-
ASP.NETでNAME属性を固定にしたい
-
RegularExpressionValidatorの...
-
クリックされた罫表セルの行番...
-
同じ名前のセレクトがある場合...
-
onchangeイベントを強制的に発...
-
プルダウンで選択された値を別...
-
二次元配列に数字をランダムに...
-
sessionの値でボタンを活性・非...
-
JQueryで2つのテキストフィー...
-
cookie使用時にundefinedと表示...
-
doPostBack 関数について
-
【FORM】 リンク文字で submit...
-
tableの任意行にfocusをあてる
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ラジオボタンにタブインデック...
-
javascriptを使ってラジオボタ...
-
データベースの値を判断してラ...
-
Form内のselectを連動させるに...
-
JavaScriptでラジオボタンのチ...
-
ラジオボタンのチェックが外れ...
-
javascript 複数のラジオボタン...
-
ラジオボタンでチェックした項...
-
javascript作成してます。ラジ...
-
javascriptについて教えてください
-
javascriptによる動的なリンク...
-
ラジオボタン未チェックの場合...
-
JavaScriptで小数点も含めた複...
-
ラジオボタンでの動的項目の変...
-
チェックボックスとテキストボ...
-
チェックボックスのON/OFFに連...
-
ラジオボタンとif文
-
radio選択をクッキーに保存させ...
-
ラジオボタンの未選択チェック...
-
ラジオボタンのチェック数に応...
おすすめ情報
sel1とsel2は、データベースから読み込んでいますので
初期値で表示される文字は、sel1とsel2の選択内容によって違います。
ですので全てが「あいうえお」が初期値の固定ではありません。
いずれにしましても、選択内容が変更されたら「変更中」、元に戻ったら初期値の文字列に
戻すという処理がしたいです。
宜しくお願い致します。