を遅らせる属性「をチェック」:ユーザーがトグルスイッチclass="os_section-slider"
をクリックするとinput
含む要素の名前がある場合]jQueryのトグルスイッチのチェックボックスを変更し、私はトグルスイッチのチェックボックスを作成し、以下のロジックaplied
1のスクリプトがチェックされますチェック
1-A]の要素がチェックされている場合、素子がオフの場合、チェックに変更し、配列にその要素を追加する]チェックを外すに変更し、os_tagsToRemove
1-Bという名前の配列にその要素を追加
JS HTML<span class="os_section-name">first</span>
<input type="checkbox" class="os_section-check" id="first" checked="checked">
<label class="os_section-slider" for="first"></label>
<div class="line-space-between"></div>
<span class="os_section-name">second</span>
<input type="checkbox" class="os_section-check" id="second">
<label class="os_section-slider" for="second"></label>
os_tagsToAdd
命名
$(".os_section-slider").click(function() { if($(this).prev().is(":checked")) { //if checked $(this).prev().attr("checked", false); var os_tagName = $(this).prev().attr("id").toString(); os_tagsToRemove.push(os_tagName); os_tagsToAdd.splice($.inArray(os_tagName, os_tagsToAdd),1); } else { //if unchecked $(this).prev().attr("checked", true); var os_tagName = $(this).prev().attr("id").toString(); os_tagsToAdd.push(os_tagName); os_tagsToRemove.splice($.inArray(os_tagName, os_tagsToRemove),1); } });
私の問題は私のページのリロード、で、私のトグルスイッチは、モーダルボックスに表示され、私はchecked属性が削除/追加されるまで2回クリックする必要がスイッチャーボタンをクリックしてください。
最初のクリックは常に値を配列にプッシュするか、配列から削除しますが、$(this).prev().attr("checked", true);
も$(this).prev().attr("checked", false);
も適用されません。
各スイッチャーボタンを2回クリックした後、その時点からのすべてが正常に機能します。
私はあなたが...あなたの空のラベルをクリックして、あなたの代わりにチェックボックスのラベルにクリックイベントを添付して、なぜ私は得ることはありませんどのように得ることはありません。それを説明してください。 –
@LouysPatriceBessetteページのソースコードも変更されるように各要素のchecked属性を変更するにはスクリプトが必要です。デフォルトのチェックボックスがあるとき、要素の入力をチェック/チェック解除すると、ページのソースコードに 'checked =" checked "をハードコードしません。 –
Haa ...それはデフォルトのチェックについてです...ホールド。 –