• ベストアンサー

ラジオボタンのチェックをはずす

ラジオボタンのチェックをはずす方法はありますか? どなたか教えてください。 クリックしてチェックが入り再度クリックすると外れると言うようなしくみにしたいのです。 JavaScriptを使わずに簡単にできないでしょうか? もし不可能でしたら、JavaScriptでの方法を教えて頂けると助かります。 宜しくお願い致します。

  • HTML
  • 回答数6
  • ありがとう数9

質問者が選んだベストアンサー

  • ベストアンサー
  • namiri_e
  • ベストアンサー率37% (37/98)
回答No.6

どういう風になっているのか理解し切れていないまま書いていますが… (1)●A (●Y1 ○Y2) (2)○B (○Y1 ○Y2) こういう状態からB-Y1を選んだとき (1)○A (○Y1 ○Y2) (2)●B (●Y1 ○Y2) こういう状態になればいいのですか? 項目Y1、Y2とその左のA、Bは連動しているのでしょうか? (たとえば、はじめの状態でB-Y1をクリックしたときにA/Bのラジオボタンも同時に変化するかどうかということです。) そうでないなら、単にA-Y1,A-Y2,B-Y1,B-Y2の4つをグループ化すればどうですか?

meg9425
質問者

お礼

回答ありがとうございます。 グループ化も考えたんですが、なにかうまく行かなかった気がします。(勘違いかも…) (1)●A (●Y1 ○Y2) (2)○B (○Y1 ○Y2) こういう状態からB-Y1を選んだとき (1)○A (●Y1 ○Y2) (2)●B (●Y1 ○Y2) こういう状態なるのを防ぎたいのです。 4つをグループ化試してみます。 ありがとうございました。

その他の回答 (5)

noname#86752
noname#86752
回答No.5

補足を拝見させていただいて、内容が理解できました。 システムとしては不要な方のY1やY2にチェックが残っていても問題ありませんが、使う方としてはチェックが消えたほうが分かりやすくて良いですね。 JavaScriptに関しては詳しい方にお任せしますが、ラジオボタンはどれかにチェックが入っていることが基本的な動作なので、ラジオボタンなのにどれにもチェックがない状態というのは普通のインターフェースではないと思います。 そこで一般的かな?と思われるインターフェースを考えました。 (1)Y0という状態を作って、Aが選ばれたらBのYをY0にする。 (2)Aが選ばれたとき、BのY1やY2を使用不可にする。 (disabled=trueだったかな。これをやると灰色になって使えなくなります。) (2)の方が普通に見られるインターフェースですが、もしたしたら古いブラウザの場合対応できないかもしれません。

meg9425
質問者

お礼

回答ありがとうございます。 やはりイレギュラーなことなので、なかなか簡単にはいきませんね。(;´д`)トホホ でも勉強になりました。ありがとうございます。

  • siteuma
  • ベストアンサー率28% (77/271)
回答No.4

#1です。 うーん、機能しませんか? もしかしたら#1のソースでいうところの4行目の最後の!が漏れているのかな・・・? (変な風に改行されてしまっているので分かりにくいのですが) それはまずおき、成る程、そういうことでしたか。 そういうことならと、ちょいと作ってみました。 (ちょっと癖のある書き方かもしれない点はご容赦) -------------------------------------- <input name="chk" id="chk1" type="radio" onClick="check_click(1)">A</input> (<input name="chk_a" id="chk_a1" type="radio">Y1</input> <input name="chk_a" id="chk_a2" type="radio">Y2</input>)<br> <input name="chk" id="chk2" type="radio" onClick="check_click(2)">B</input> (<input name="chk_b" id="chk_b1" type="radio">Y1</input> <input name="chk_b" id="chk_b2" type="radio" >Y2</input>) <SCRIPT LANGUAGE=javascript> <!-- function check_click(arg){ if(arg == 1){ document.getElementById("chk_b1").checked=false; document.getElementById("chk_b2").checked=false; }else{ document.getElementById("chk_a1").checked=false; document.getElementById("chk_a2").checked=false; } } //--></script> -------------------------------------- 上記のでは、Aにチェックが入っていても、BのY1、Y2にチェックが出来てしまうので、 Aにチェックが入っているときはBのY1、Y2は使用できないようにするなどの制御と組み合わせるといいでしょう。

meg9425
質問者

お礼

ありがとうございました。 やはりjavascriptですね。 私はjavascriptをよく知らないので、 不都合が起きた場合復旧できなそうなので できれば簡単な方法が良かったのですが… どの方法も簡単そうじゃないですね(-。-;) やっぱイレギュラーですもんね。笑 ご丁寧にありがとうございました。

  • EEshiba
  • ベストアンサー率29% (45/152)
回答No.3

えーと、普通にA又はBがチェックされた時に、反対側のY1,Y2をクリアしてやれば良いのでは? こちらの方が余程簡単だと思いますよ。

meg9425
質問者

補足

反対側をクリアするとはどのようにしたら良いのでしょうか?すいません無知で…(o*。_。)oペコッ

回答No.2

 質問の意味がよく理解できなかったのですが、ラジオボタンはどれかが選択されていることが基本ですので、むしろチェックボックスがお望みの機能ではないかと思います。 参考URLのチェックボックスをご覧下さい。

参考URL:
http://tohoho.wakusei.ne.jp/html/input.htm
meg9425
質問者

補足

すいません。そうなんです。通常ならばおっしゃるとおりなんですが。うまく説明できないのですいません。 例として ■質問1 (1)○A (○Y1 ○Y2) (2)○B (○Y1 ○Y2) このようなラジオボタンを作りたいんです。 (1)と(2)がどちらか選ぶようになっていて その後ろにある(Y1、Y2)のどちらかが選べるようにしたいのです。この場合に(1)AのY1にチェックを入れたが、 やはり(2)のY1に変えたいという場合AとBはどちらか一方にチェックが入るようになるのでAかBになるのですが、 BのY1に入れても前回入れたAのY1にチェックが残ってしまうことを回避したいのです。 Y1,Y2部分をチェックボックスにしてしまうと、どちらにもチェックが入ってしまうということの可能性も大きいと思い出来ればラジオボタンのようにどちらか一方にしかチェックが入らない機能があり、さらにチェックがはずせればいいと思いました。 すいませんダラダラと説明してもやはりわかりづらいですかね・・・

  • siteuma
  • ベストアンサー率28% (77/271)
回答No.1

結局JavaScriptだけど・・・ (<>は半角に読み替えてくださいね) <html> <body> <form name="frm"> <input id="chk" type="radio" onClick="document.frm.chk.checked = !document.frm.chk.checked;">←Click!</input> </form> </body> </html>

meg9425
質問者

お礼

回答ありがとうございます。 早速試してみましたが、何故が機能しないのです。 チェックが入らない状態です。 すいません。私のやり方が悪いのかも…

関連するQ&A

  • ラジオボタンのチェックを判定したいです。

    phpとhtmlを使用して、ラジオボタンをいくつか作成したとします。 どのラジオボタンが選択されているかを判定する場合、通常ラジオボタンのvalueの値が、ある値と一致するかどうかで判定しますが、そうではなく、逆にチェックが入っているラジオボタンのvalue値を取得したい場合、どのようにすればいいのでしょうか? ちなみに、javascriptは使用したくないです。理由は、その値を再びphpの画面で使いたいからです。 もし、javascriptで取得した値をphpの画面に渡せれば、javascriptを使用してもOKなのですが、なかなか上手く渡せないようなので。。。 ご教授お願い致します。

    • ベストアンサー
    • PHP
  • 「ラジオボタンにチェックする」

    「ラジオボタンにチェックする」(ラジオボタンにクリックして黒い点を入れる)ことを英語でどう言いますか。 check the radio button X でいいんでしょうか?button の後に "on"を書くべきでしょうか。checkという語の選択でよいのでしょうか。

  • ラジオボタンにチェックがあるか?の判定

    4つ項目があるラジオボタンがあります。デフォルトはどこにもチェックがありません。 ユーザは、1つチェックして選ぶか、もしくは全部選ばないのどちらかです。 まったくチェックしていない場合、JavaScriptでアラートを出すにはどう書けばよいか教えてください。よろしくお願いします。

  • Excelのラジオボタンにチェックが入らないようにするには?

     Excel上にラジオボタンが何個かついているsheetがあります。 sheetをクリックするとラジオボタンにチェックが入ってしまうのですが、 チェックを入れない状態で印刷をしたいのです。 =EMBED("Forms.OptionButton.1","") 上のように、ラジオボタンの上にカーソルを持っていくと表示されます。 また、ラジオボタンの上でダブルクリックすると以下のように表示されます。 ---------------------------------- Private Sub OptionButton9_Click() End Sub ------------------------------------  マクロは全く分からない初心者です。 どのようにマクロのラジオボタンにチェックを入れずに印刷したらいいでしょうか? よろしくお願いします。

  • ラジオボタンのチェック

    VB2010で作成してるんですけど。 ラジオボタンをフォームに入れてデバッグすると、ラジオボタンがチェックされて表示されてしまいます。。 Form_Loadでラジオボタンのチェックを外すコードは書いたんですけど・・。 RadioButton1.Checked = False という風に。 でもやはりチェックがついています。。 どうしたらチェックを外した状態で表示できるでしょうか?

  • ラジオボタンのNullチェック

    ラジオボタンがひとつもチェックが入ってない時にエラーを出したいのですがうまくいきません。 <script language="JavaScript1.2"> function chk_Riyu(){ for(idRadio=0; idRadio<frmEntry.optRiyu.length; idRadio++){ if(frmEntry.optRiyu[idRadio].checked) { return true; break; } alert("チェックされてません"); return false; } } </script> <form name="frmEntry" action="aaa.htm" method="post"> <input type="submit" value="理由" onclick="return chk_Riyu()"> <input type="Radio" name="optRiyu" value="1">あああ</td> <input type="Radio" name="optRiyu" value="2">いいい</td> <input type="Radio" name="optRiyu" value="3">ううう</td> このソースだと、一度目はチェックにひっかかるのですが、再度ラジオボタンにチェックを入れて理由ボタンを押してもエラーになってしまいます。 どこかおかしいところがありましたら教えていただけないでしょうか。 すみませんが宜しくお願いいたします。

  • ラジオボタンでのメールアドレスの必須チェックをするには…?

    こんにちは。いつもお世話になります。 JavaScriptの事で、色々検索して回ったのですが、ピッタリのものが無く。。(>_<)ヽ もしどなたかわかる方がいらっしゃいましたら、お願い致します。 ○不要 ○希望 メールアドレス:「(テキストボックス)」 例えばこのような内容のフォームで、「不要」のラジオボタンがチェックされていた場合は、 メールアドレスは入力せずに送信が出来、「希望」のラジオボタンがチェックされていた場合は、 メールアドレスが入力されていない場合は「メールアドレスを入力して下さい」といった アラートを出すようなJavaScriptは、どのようにすれば宜しいでしょうか。。 どうぞよろしくお願いいたします。(_ _*)

  • asp上でのラジオボタンについて

    aspのプログラムでラジオボタンを設置し、「検索」というボタンをクリックすることで、ラジオボタンに対応する一覧データを表示するというプログラムを作っています。 ラジオボタンを「パターン1」、「パターン2」という2つを作り、どちらかチェック出来るようにしたのですが、検索ボタンをクリックすると、パターン1、パターン2のどちらをチェックしていても、パターン1にチェックされている状態になってしまいます。 一応、初期表示状態として、パターン1にチェックされた状態になっているのですが、パターン2をチェックしていてもパターン1に戻ってしまいます。 検索後も、チェックしたラジオボタンのまま表示させる方法として何かいいやり方があれば、教えてください。

  • ラジオボタン&チェックボックス

    お世話になっております。 私は、あまりマウス操作が好きではありません。使えないわけではないのですが、キーボードから手を離す時間がもったいないように思えてしまうのです。 それで、いろいろなシーンで見かける、この「ラジオボタン」や「チェックボックス」に印を付ける時も、マウスでのクリックではなく、キー操作でできないものかと考えたのですが。 「そんな方法は無い」ということであれば諦めますが。教えてください。よろしくお願いいたします。

  • ラジオボタンについて。

    データの更新を行なう画面をつくり、データベースから取得したデータをもとにテキストの内容やラジオボタンのチェックの有無を画面に表示させようとしています。 最初に更新画面を呼び出し、データを表示することはうまくいくました。 しかし、IEの[表示]-[エンコード]や[最新の状態に更新]をやったり、戻るボタンで戻ると、テキストの内容は表示されるのですが、ラジオボタンは、なぜか一瞬チェックした後に、すぐチェックが外れてしまいます。 今やっているのは、Webの画面全てをASPで表示した後で、 最後にJavaScriptにより、 <script language='javaScript'> ラジオボタン名(i).checked = true; </script> のようにやっているのですが。。。 このやり方がまずいのでしょうか? 最初にボタン設定する際に"<INPUT TYPE ='radio' ~ checked>"で指定しなければいけないのでしょうか? よろしくお願いします。