menu
menu

キーワード検索

 

前月(10月)の人気記事トップ10

  1. ( 1-) 【CSS Tips】CSSだけでドロップダウンメニュー
  2. ( 2-) 【CSS Tips】CSSだけでサイズ可変・スマホ対応のアコーディオン
  3. ( 3-) 【HTML5】スマホサイトの作成・基本編
  4. ( 7↑) 【HTML5】HTML5・ページ作成の基本
  5. ( 6↑)【jQuery入門】jQueryで日時を表示
  6. ( 5↓) 【jQuery】表示しているブラウザの高さを取得してCSSのheightに指定
  7. ( 4↓) 【CSS Tips】CSSだけでブロック要素の表示非表示(トグルボタン)
  8. ( 8-) 【Mac Tips】MacにInkscapeをインストール
  9. ( 9-) 【MySQL】Windows 10にMySQLをインストール
  10. (10-) 【CSS Tips】スマホサイト向け横にスクロールするナビゲーション

【フォーム】チェックボックスをラジオボタンのような動きにする

  • Labs

【フォーム】チェックボックスをラジオボタンのような動きにする

こんにちは(・∀・)

チェックボックスをラジオボタン風にしてみました。

Contents

  1. JavaScriptサンプル
  2. jQueryサンプル

チェックボックスのラジオボタン風

チェックボックスもラジオボタンのように複数選択できない動きにしたかったので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

サンプルデモはこちら
スマホでのご確認はこちらをどうぞ
QRコード


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

サンプルデモはこちら
スマホでのご確認はこちらをどうぞ
QRコード

  • カテゴリー:Labs