9月更新・前月(8月)の人気記事トップ10 09/02/2024
- ( 01 – ) 【Labs】position:absoluteとwidth:100%を指定すると横幅の設定がうまくいかない場合の対処方法について
- ( 07 ↑) 【Mac】macOSをHigh SierraからMontereyにアップグレード
- ( 03 – ) 【Mac】横画面で撮影した動画をYouTubeショート用にMacのiMovieで縦画面に編集する方法
- ( 10 ↑) 【iPhone / iPad】iPhoneのツイッターアプリでユーザー名をコピーする方法
- (圏外↑) 【Labs】CSSだけでドロップダウンメニュー
- ( 02 ↓) 【jQuery】入門2. jQueryをHTMLに組み込む
- ( 09 ↑) 【Mac】Safariでソースコードを見る方法
- ( 04 ↓) 【jQuery】入門7. jQueryで新しいWindowを開く
- ( 06 ↓) 【2024年5月】iPad画面解像度まとめ
- (圏外↑) 【GIMP】レイヤーをロック
【Labs】チェックボックスをラジオボタンのような動きにする
こんにちは(・∀・)
チェックボックスをラジオボタン風にしてみました。
Contents
チェックボックスのラジオボタン風
チェックボックスもラジオボタンのように複数選択できない動きにしたかったのでJavaScriptで作ってみました。
JavaScriptサンプル
3つのチェックボックスで作ってみました。チェックボックスを増やしたい場合はckboxを増やしてください。
HTML
<form id="form">
<label>1 <input type="checkbox" name="auth1"></label>
<label>2 <input type="checkbox" name="auth2"></label>
<label>3 <input type="checkbox" name="auth3"></label>
</form>
JavaScript
function checkbox(){
document.forms['form'].elements['auth1'].onclick=ckbox1;
document.forms['form'].elements['auth2'].onclick=ckbox2;
document.forms['form'].elements['auth3'].onclick=ckbox3;
}
function ckbox1(){
document.forms['form'].elements['auth2'].checked=false;
document.forms['form'].elements['auth3'].checked=false;
}
function ckbox2(){
document.forms['form'].elements['auth1'].checked=false;
document.forms['form'].elements['auth3'].checked=false;
}
function ckbox3(){
document.forms['form'].elements['auth1'].checked=false;
document.forms['form'].elements['auth2'].checked=false;
}
window.addEventListener('DOMContentLoaded',checkbox,false);
CSS
.tb-cell {
display: table;
width: 300px;
margin: 20px auto 40px auto;
text-align: left;
}
.tb-cell .row {
display: table-row;
}
.tb-cell .row .cell {
display: table-cell;
width: 300px;
padding: 20px 40px;
vertical-align: middle;
color: #fff;
background: #ccc;
text-align: center;
}
label {
padding: 10px;
}
Result
サンプルデモはこちら
スマホでのご確認はこちらをどうぞ
jQueryだと次のようになります。
jQueryサンプル
jQueryを使用するのでHTMLの<head>
内にjQuery 1.x snippetを読み込みます。
Google Hosted Libraries
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
HTML
<form id="form">
<label>1 <input type="checkbox"></label>
<label>2 <input type="checkbox"></label>
<label>3 <input type="checkbox"></label>
</form>
JavaScript
$(function(){
$('input').on('click',function(){
if ($(this).prop('checked')){
$('input').prop('checked',false);
$(this).prop('checked',true);
}
});
});
CSS
.tb-cell {
display: table;
width: 300px;
margin: 20px auto 40px auto;
text-align: left;
}
.tb-cell .row {
display: table-row;
}
.tb-cell .row .cell {
display: table-cell;
width: 300px;
padding: 20px 40px;
vertical-align: middle;
color: #fff;
background: #ccc;
text-align: center;
}
label {
padding: 10px;
}
Result
サンプルデモはこちら
スマホでのご確認はこちらをどうぞ