私は過去2時間これに取り組んできましたが、これを理解することはできません.
クリックするとjqueryが色であるliアイテムのクラスを取得するリストアイテムがあります。次に、最初の文字を大文字にし、色が一致するチェックボックスの値を見つけて、チェック済みとしてマークします。
誰かがliアイテムをもう一度クリックすると、チェックボックスのチェックが外されるようにしたいだけです
誰かがまったく助けることができますか?
$('#colours li').live('click', function (){
var color = $(this).attr('class');
color = color[0].toUpperCase() + color.slice(1);
console.log($('input[value="'+color+'"]'));
$(this).css('opacity','0.5');
if($('input[value="'+color+'"]:checked').length) {
$('input[value="'+color+'"]').attr('checked', true);
console.log("checked");
} else {
$('input[value="'+color+'"]').removeAttr('checked');
console.log("not checked");
}
});
<ul id="colours">
<li class="black"></li>
<li class="brown"></li>
</ul>
<input type="checkbox" name="color" value="Black" class="hidden" />
<input type="checkbox" name="color" value="Brown" class="hidden" />
ul を追加するのを忘れており、入力は jquery .load() を使用してロードされます