我正在尝试删除检查条件的行,如果选择输入字段值为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*/
答案 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();
}
});
});