« 実践ハイパフォーマンスMySQL | メイン | ハードウェアの取り外し »

javascript

チェックボックスのようなラジオボタン

 項目の中から1つだけを選択するなら、ラジオボタンかセレクタ。
要件
・未選択状態がある。
・選択状態を解除できる(誤操作に対応)。
・リセットは使えない。
selectタグは見栄えの点で除外するが、未選択項目を含めればjavascriptを使わずhtmlだけで実現できる。
 「排他的なチェックボックス」、「解除可能なラジオボタン」はjavascriptを使わざるをえなさそう。
 javascript ラジオボタン・・・等で検索すると、項目配列を全件捜査し参照・更新する例が多い。
 ラジオボタン名に依存しない汎用版を試みる。javascriptはこちら↓
<script type="text/javascript">
<!-- 
var pre=[];
function toggle(o){
    if(pre[o.name]==o.value){ /// 解除
        pre[o.name]=null;
        o.checked=false;
    }else{ /// 状態保持
        pre[o.name]=o.value;
    }
}
// -->
</script>
HTMLははこちら↓
<input id="a" type=radio name="x" value="a" onClick="toggle(this);"><label for="a">a</label>
<input id="b" type=radio name="x" value="b" onClick="toggle(this);"><label for="b">b</label>
<input id="c" type=radio name="x" value="c" onClick="toggle(this);"><label for="c">c</label>
サンプル radioLikeCheck.html

トラックバック

このエントリーのトラックバックURL:
https://www.remix.asia/cgi/mt/mt-tb.cgi/6725

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)