代码之家  ›  专栏  ›  技术社区  ›  Yash009

尝试使用jQuery增加复选框的可单击区域

  •  1
  • Yash009  · 技术社区  · 8 年前

    我有一个标签 <li class="pointer-cursor">abc<li> 我正在使用jQuery为其添加一个复选框

    jQuery('.pointer-cursor').prepend('<input type = checkbox>');
    

    <li class="pointer-cursor"> <input type="checkbox">abc </li> 我想使用jQuery增加复选框的可点击区域,这样无论我在哪一行上点击复选框都会被选中。

    3 回复  |  直到 8 年前
        1
  •  2
  •   Taplar    8 年前

    您可以在输入周围放置一个标签,使其具有更大的单击区域。

    $('.pointer-cursor').each(function(){
      $(this).html('<label><input type="checkbox">'+this.innerHTML +'</label>');
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <ul>
      <li class="pointer-cursor">abc</li>
      <li class="pointer-cursor">123</li>
    </ul>
        2
  •  0
  •   Tameem Safi    8 年前

    您可以向文档中添加一个click处理程序来侦听 li 标记,然后切换复选框的选中状态。

    jQuery('body').on('click', 'li.pointer-cursor', function() {
      var input = $(this).find('input[type="checkbox"]');
      input.prop('checked', !input.prop('checked'));
    });
    
        3
  •  0
  •   Mark    8 年前

    事件以及一个用于切换复选框的附带函数。

    function onClick(){
      let checkbox = document.getElementById('check');
      checkbox.checked = !checkbox.checked;
    }
    <input id="check" type="checkbox">abc
    <li onclick="onClick()">hi</li>