我有一张桌子。第一列是文本框类型编号。其他列只是纯文本。
我想删除Textbox值与我在变量中得到的值匹配的行。
例如如果我在变量中有一个值为6,我想删除文本框值为6的行。
如何找到文本框类型为数字和行的行具有预定义的值,例如6&然后从表中删除该行。
我试过了: -
$('#tblField tr').eq(6).remove();
我的表: -
<table class="table table-bordered" id="tblFields">
<tboby>
<tr><td><input type="number" value="20" class="form-control"
onkeypress="javascript:return isNumber (event)"></td>
<td>ANNUAL PF</td>
<td><input type="text" value="ANNUAL PF" class="displayname form-control"></td><td><input type="checkbox" checked=""></td>
<td style="display:none">ANPF</td>
<td style="display:none">1</td>
</tr>
.....
.....
</tbody>
</table>
请帮助。
答案 0 :(得分:3)
使用 filter()
方法过滤掉tr
并使用 remove()
方法删除已过滤的元素。
var val = 'your value';
//get all tr and filter
$('tr').filter(function(){
// get all input tag inside and get element with variable value
return $('td input',this).filter(function(){
return this.value == val;
}).length;
// remove the filtered row
}).remove();
如果值是静态的并初始化为属性,那么您可以使用 attribute equals selector 以及 :has()
伪类选择器。
var val = 'your value';
// get tr contains input elemnt with certain value and remove
$('tr:has(td input[value="' + val + '"])').remove();
答案 1 :(得分:1)
请检查这个小提琴 - https://jsfiddle.net/nfvamrdx/
HTML:
<table>
<tr>
<td>
<input type ="number" class="txtId" value="3"/>
</td>
<td>
<input type ="text" />
</td>
<td>
<input type ="text" />
</td>
</tr>
<tr>
<td>
<input type ="number" class="txtId" value="6"/>
</td>
<td>
<input type ="text" />
</td>
<td>
<input type ="text" />
</td>
</tr>
<tr>
<td>
<input type ="number" class="txtId" value="7"/>
</td>
<td>
<input type ="text" />
</td>
<td>
<input type ="text" />
</td>
</tr>
</table>
使用Javascript:
$(document).ready(function(){
$('#btnRemove').click(function(){
var valueToBeRemoved = $('#txtIdToRemove').val();
$('.txtId[value='+valueToBeRemoved+']').parents('tr').remove();
});
});
$('#tblField tr input[type="number"][value=' + valueToBeRemoved + ']').parents('tr').remove();