チェックボックスのスタイルを切り替えるチェックボックス

アメーン

だから、私はこれで数時間立ち往生しています。私は基本的に、チェックボックスをトグルボタンとして機能させようとしています。jqueryによって適用されるスタイルは、チェックされたときにのみ適用され、選択が解除されている場合は初期に戻されるようにします。

HTMLマークアップ:

<form class="simple_form new_mailing_list_form" data-remote="true" id="new_mailing_list_form" method="post">
  <div class="input boolean optional mailing_list_form_opt_in">
    <input name="mailing_list_form[opt_in]" type="hidden" value="0">
    <label class="boolean optional control-label checkbox toggle-button" for="mailing_list_form_opt_in">
    <input checked="checked" class="boolean optional" id="mailing_list_form_opt_in" name="mailing_list_form[opt_in]" type="checkbox" value="1">
     Yes, I would like to join the mailing list.
    </label>
 </div>

SCSS:

#new_mailing_list_form {
.opt {
  color: $white;
  background-color: $selectiveYellow !important;
  border: 2px solid $selectiveYellow !important;
}
.checkbox {
  margin: 0px;
  padding: 0px;
}
div label input {
  margin-right:100px;
}

.mailing_list_form_opt_in label {
  cursor: pointer;
  background: transparent;
  border: 2px solid $selectiveYellow;
  border-radius:2px;
  font-size: 15px;
  font-weight: normal;
  line-height: 1.4;
  overflow:auto;
  margin:4px;
  padding: 8px 15px;
  width: auto;

  &:hover {
    background-color: $sunglow;
    border: 2px solid $sunglow;
    color: $white;
  }
}

.mailing_list_form_opt_in label {
  display:block;
}

.mailing_list_form_opt_in label input {
  display: none;
}

.mailing_list_form_opt_in input:checked {
  background-color:$selectiveYellow;
  color:$white;
 }
}

JQuery:

$('#mailing_list_form_opt_in').change(function () {
  $(this).parent().css({ 'background-color':'#ffbb00','border':'2px solid #ffbb00', 'color':'#fff' });
});

条件付きステートメントも使用してみましたが、機能しないスパゲッティJQueryに陥り始めました。

これまでの作業CodePenリンクの作業

アメーン

そのため、この問題に対する純粋なHTML5 / CSS3ソリューション(JS / JQueryを使用していません!)を共有しているので、同様の問題に悩まされている他の人に役立つ可能性があります。

マークアップを次のようにリファクタリングしました。

HTML:

<input id="mailing_list_form_opt_in" name="mailing_list_form[opt_in]" type="checkbox" value="1">
<label for="mailing_list_form_opt_in">Yes, I would like to join the mailing list.</label>

スタイルについては、隣接するセレクター+と疑似クラスを使用して、:checkedその状態での動作を示しました。対応するスタイルは次のとおりです。

SCSS:

input[type=checkbox] + label {
  background: transparent;
  border: 2px solid $selectiveYellow;
  border-radius: 2px;
  -webkit-font-smoothing: subpixel-antialiased;
  font-size: 15px;
  font-weight: normal;
  line-height: 1.4;
  overflow: auto;
  margin: 4px;
  padding: 8px 15px;
  @include transition( 0.25s linear);
  width: auto;

  &:hover {
    background-color: $sunglow;
    border: 2px solid $sunglow;
    color: $white;
  }
}

input[type=checkbox]:checked + label {
  background: $selectiveYellow !important;
  border: 2px solid $selectiveYellow !important;
  color: $white;
}

input[type=checkbox] {
  display: none;
}

完璧に動作し、Codepenを追加して、それもチェックできるようにしました!これが他の人に役立つことを願っています!:D

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Reactのチェックボックスを切り替える

分類Dev

Reactのチェックボックスを切り替える

分類Dev

チェックボックスグループのチェックボックスを切り替えます

分類Dev

CSSチェックボックスの切り替え

分類Dev

反応のチェックボックス切り替え

分類Dev

Railsの管理者を切り替えるチェックボックス

分類Dev

tkinterのチェックボックスを自動的に切り替える

分類Dev

Thread.Sleepなしのタイマー/遅延のチェックボックスを切り替える

分類Dev

複数のチェックボックスを切り替える–プロトタイプjs

分類Dev

1つのチェックボックスとチェックボックスのグループ全体を切り替える方法は?

分類Dev

フィルタのオン/オフを切り替えるAngularJSチェックボックス

分類Dev

チェックボックスリスナーの適切なクラスを切り替える方法は?

分類Dev

チェックボックスのオン/オフを切り替えます

分類Dev

JavaScript-「すべてチェック」チェックボックスを切り替えるtrue / false

分類Dev

HTMLのチェックボックスを使用してテーブルの色を切り替える

分類Dev

HTMLのチェックボックスを使用してテーブルの色を切り替える

分類Dev

JQuery:切り替え可能なチェックボックスのページで複数の特定のチェックボックスIDを見つける方法

分類Dev

ブートストラップスタイルのボタングループのチェックを切り替えるときにチェックボックスのラベルテキストを変更する方法

分類Dev

他のすべてのチェックボックスで選択を切り替えるAngularJsチェックボックス

分類Dev

Openlayers3のチェックボックスを使用してレイヤーを切り替える方法

分類Dev

チェックボックスの複数のブロックを切り替えるJquery

分類Dev

チェックボックスの状態に応じてデータ属性値を切り替える方法は?

分類Dev

Angularjsの[ブール値オン]チェックボックスを切り替える方法

分類Dev

jQueryは1つのボタンで複数のチェックボックスを切り替えます

分類Dev

チェックボックスを切り替えて、reactを使用してスタイルをストライクオフに変更する方法

分類Dev

テキストボックス(またはラベル)をクリックしてチェックボックスを切り替える方法

分類Dev

囲んでいる行をクリックして、AngularJSリピーターテーブルのチェックボックスを切り替えます

分類Dev

複数のGroundOverlaysのチェックボックス切り替え

分類Dev

Angular 2: 複数のチェックボックスの切り替え

Related 関連記事

  1. 1

    Reactのチェックボックスを切り替える

  2. 2

    Reactのチェックボックスを切り替える

  3. 3

    チェックボックスグループのチェックボックスを切り替えます

  4. 4

    CSSチェックボックスの切り替え

  5. 5

    反応のチェックボックス切り替え

  6. 6

    Railsの管理者を切り替えるチェックボックス

  7. 7

    tkinterのチェックボックスを自動的に切り替える

  8. 8

    Thread.Sleepなしのタイマー/遅延のチェックボックスを切り替える

  9. 9

    複数のチェックボックスを切り替える–プロトタイプjs

  10. 10

    1つのチェックボックスとチェックボックスのグループ全体を切り替える方法は?

  11. 11

    フィルタのオン/オフを切り替えるAngularJSチェックボックス

  12. 12

    チェックボックスリスナーの適切なクラスを切り替える方法は?

  13. 13

    チェックボックスのオン/オフを切り替えます

  14. 14

    JavaScript-「すべてチェック」チェックボックスを切り替えるtrue / false

  15. 15

    HTMLのチェックボックスを使用してテーブルの色を切り替える

  16. 16

    HTMLのチェックボックスを使用してテーブルの色を切り替える

  17. 17

    JQuery:切り替え可能なチェックボックスのページで複数の特定のチェックボックスIDを見つける方法

  18. 18

    ブートストラップスタイルのボタングループのチェックを切り替えるときにチェックボックスのラベルテキストを変更する方法

  19. 19

    他のすべてのチェックボックスで選択を切り替えるAngularJsチェックボックス

  20. 20

    Openlayers3のチェックボックスを使用してレイヤーを切り替える方法

  21. 21

    チェックボックスの複数のブロックを切り替えるJquery

  22. 22

    チェックボックスの状態に応じてデータ属性値を切り替える方法は?

  23. 23

    Angularjsの[ブール値オン]チェックボックスを切り替える方法

  24. 24

    jQueryは1つのボタンで複数のチェックボックスを切り替えます

  25. 25

    チェックボックスを切り替えて、reactを使用してスタイルをストライクオフに変更する方法

  26. 26

    テキストボックス(またはラベル)をクリックしてチェックボックスを切り替える方法

  27. 27

    囲んでいる行をクリックして、AngularJSリピーターテーブルのチェックボックスを切り替えます

  28. 28

    複数のGroundOverlaysのチェックボックス切り替え

  29. 29

    Angular 2: 複数のチェックボックスの切り替え

ホットタグ

アーカイブ