1
<li>
要素のdata-active
属性をY
に設定しようとしました。アクティブなチェックボックスの状態に応じて、それぞれ "はい"または "いいえ"に設定されました。チェックボックスの状態に応じてデータの属性値を切り替える方法は?
私のサンプルコードは、このようなものです:上記の私のコードから
$(document).ready(function() {
$('body').on('change','#active',function(){
li = $(this).parent();
if($(this).attr('checked')=='true') {
$(this).attr('checked','false');
li.attr('data-active','N');
} else {
li.attr('data-active','Y');
$(this).attr('checked','true');
}
console.log(li.data('active'));
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<ol class="example">
<li data-active="N">Option2 (Active <input id="active" type="checkbox">)</li>
</ol>
は、#active
上のイベントハンドラは、チェックボックスの状態が何であれにかかわらず、唯一のelse
句で一致しました。
似たような質問がたくさんあることを理解していますが、私はそれらを試しましたが、誰も私の問題を解決しません。
data-active
をチェックボックスの状態に応じて「はい」または「いいえ」に切り替えるにはどうすればよいですか?ありがとう。あなたが.data
使うべき
どうもありがとうございました。チェックボックスの状態は値 'N'、 'Y'を非常によく切り替えます。しかし、 'li.data( 'active'、 'Y');は、チェックされた状態に応じて' li'要素のデータアクティブ値を変更しません。代わりに 'li.attr( 'data-active'、 'Y');')を使用すると動作します: –
私が知っているところから、 '.data'は' data- * '属性に' data- * '属性を設定することはできません (** EDIT:** DOMプロパティを変更せずにDOM要素のプロパティを設定するような' .data ' – AngYC