0

チェックボックスをクリックしてdiv内の削除オプションをクリックすると、親ulではなくul全体が削除されるというJqueryの問題があります。

HTML コード

<div class="delete">Delete</div>
<ul class="link" id="link">
  <li>
    <div class="style">
      <input type="checkbox" class="styled">
      <div id="style"></div>
    </div></li>
    <li class="edit">http://carouselinfo.com/canal/</li>
    <li><span class="main edit">123</span>
  </li>
</ul>

Jクエリ

$('.delete').on('click',function(){
    var check = $("input[type='checkbox']");
    if(check.is(':checked')){
        //console.log("Works");
        $(this).closest("ul").empty();
    }
});   
4

3 に答える 3

1

これはあなたのhtmlとjqueryにあります

更新: http://jsfiddle.net/YNxgy/5/

$('.delete').on('click',function(){
var check = $("input[type='checkbox']");
check.each(function(){
if($(this).is(':checked')){
    $(this).closest("ul").remove();
}
});

}); な

問題は、 check がすべてのチェックボックスのリストになることでした。そのため、それをループして、それぞれをチェックする必要があります。

于 2012-05-19T19:59:09.423 に答える
1

これを試して:

$('.delete').on('click',function(){
    $("input[type='checkbox']:checked").closest('ul').empty();
});​​​​​
于 2012-05-19T19:43:45.957 に答える
0

あなたのフィドルを見た後、あなたが望むのは、クリックされたチェックボックスの親ulを削除することです:

実際のFiddleをご覧ください。

Jクエリ

// clicking the checkbox, remove parent UL
$('.link div').on("click", 'input[type="checkbox"]', function() {
  $(this).closest('ul').remove();
});
于 2012-05-19T19:50:26.483 に答える