如何通过条件检查单击复选框删除所选行

时间:2015-10-08 11:34:05

标签: jquery

我正在尝试删除检查条件的行,如果选择输入字段值为0(有一个输入字段),则只删除行。 请告诉我问题在哪里。即使输入字段为0,也会删除所选行。

var purchased = $(".purchased input");
/*remove selected item start*/
$('.removeselected').on('click', function(){        
    var checkedstatus = $(".checker input:checked");

    $('.checker').each(function() {
        if((checkedstatus) && (purchased.val() == 0)){
            console.log("Varified");
            checkedstatus.parents(".renderedItem").remove();
        }else{
            console.log("not varified");
        }
    });
});
/*remove selected item end*/

3 个答案:

答案 0 :(得分:1)

迭代每个选中的复选框,然后在同一行中检查购买的输入值,如果为0则删除元素

$('.removeselected').on('click', function(){     
    $('.checker .checkboxitem:checked').each(function () {
        if ($(this).closest('.row').find('.purchased input').val() == 0) {
            $(this).closest('.checker').remove();
        }
    });
});

答案 1 :(得分:0)

var purchase = $(“。purchase input”);没有好好的投入。 在“each”函数中,您可以使用.next('input')。val()或prev()

FIDDLE:https://jsfiddle.net/1bzats85/5/

var purchased = 0;
$('.removeselected').on('click', function(){        
    $(".checker").each(function() {
        purchased = $(this).next('input').val();
        if(this.checked && purchased == 0){
            $(this).parents('tr').remove();
        }
    });
});



 <table>
    <tr>
        <td class="renderedItem">
            <input type=checkbox class="checker">
            <input class="purchased">INPUT
        </td>
    </tr>
    <tr>
        <td class="renderedItem">
            <input type=checkbox class="checker">
            <input class="purchased">INPUT
        </td>
    </tr> 
        <tr>
            <td>
        <button class="removeselected">BUTTON</button>
            </td>
          </tr>
</table>

答案 2 :(得分:0)

它对我有用。

$('.removeselected').on('click', function(){     
$('.checker .checkboxitem:checked').each(function () {
    if ($(this).closest('.row').find('.purchased input').val() == 0) {
        $(this).closest('.checker').remove();
    }
});

});