menu
menu

キーワード検索

 

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

  1. ( 1 - ) 【CSS】CSSだけでドロップダウンメニュー
  2. ( 3 ↑) 【Mac】Macのユーザー名とアカウント名を変更する
  3. ( 2 ↓) 【jQuery】jQueryでドロップダウンメニュー
  4. ( 9 ↑) 【CSS】スマホ対応CSSだけでドロップダウンメニュー
  5. ( 7 ↑) 【PHP】PHPでシンプルなメールフォーム
  6. ( 5 ↓) 【CSS】レスポンシブデザインのブレークポイントは⁉
  7. ( 4 ↓) 【CSS】CSSだけでサイズ可変・スマホ対応のアコーディオン
  8. (10 ↑) 【iPhone・iPad】投稿の準備中にエラーが起きました。後でやり直してください。
  9. ( 9 - ) 【CSS】CSSだけでブロック要素の表示非表示(トグルボタン)
  10. ( - ↑) 【iPhone・iPad】iPhoneのメモリを簡単に解放する方法
このエントリーをはてなブックマークに追加

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

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

こんにちは(・∀・)

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

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コード

 

にほんブログ村 IT技術ブログ JavaScriptへ
  • JavaScript フォーム
このエントリーをはてなブックマークに追加