未选中JQuery toggleClass()复选框

Dev*_*per 2 html javascript css checkbox jquery

嗨请检查以下代码 -

HTML

<div class="manage-user-freind" style="line-height:18px; cursor:pointer;">
  <span style="color:blue;">
    <img src="'+pageUrl+'/img/user-16x16.png" height="14" style="float:left; padding-top:2px;" /><input class="chk" type="checkbox" value="10" />pieter
  </span>
</div>

<div class="manage-user-freind" style="line-height:18px; cursor:pointer;">
  <span style="color:blue;">
    <img src="'+pageUrl+'/img/user-16x16.png" height="14" style="float:left; padding-top:2px;" /><input class="chk" type="checkbox" value="12" />john
  </span>
</div>
Run Code Online (Sandbox Code Playgroud)

JQuery的

$('.manage-user-freind').click(function(){
     $(this).toggleClass('clicked',function(){
            $('.chk').prop('checked', true);
     });
});
Run Code Online (Sandbox Code Playgroud)

CSS

.clicked {
  background-color: yellow;
}
Run Code Online (Sandbox Code Playgroud)

我用过toggleClass()函数.toggleClass工作正常,但点击的所有复选框也没有取消选中当前复选框.

我需要当我点击任何div时首先显示div为黄色并选中当前复选框.再次单击该黄色颜色div将删除,并且复选框将取消选中.

谢谢.

抱歉我的英文措辞.:(

Tus*_*har 5

试试这个:

$('.manage-user-freind').on('click', function() {
    $(this).toggleClass('clicked').find('.chk').prop('checked', $(this).hasClass('clicked'));
});
Run Code Online (Sandbox Code Playgroud)

演示:https://jsfiddle.net/tusharj/d84z5vub/1/