What is the best method for removing a table row with jQuery?
What is the best method for removing a table row with jQuery?
You're right:
$('#myTableRow').remove();
This works fine if your row has an id, such as:
<tr id="myTableRow"><td>blah</td></tr>
If you don't have an id, you can use any of jQuery's plethora of selectors.
$('#myTable tr').click(function(){
$(this).remove();
return false;
});
Even a better one
$("#MyTable").on("click", "#DeleteButton", function() {
$(this).closest("tr").remove();
});
Assuming you have a button/link inside of a data cell in your table, something like this would do the trick...
$(".delete").live('click', function(event) {
$(this).parent().parent().remove();
});
This will remove the parent of the parent of the button/link that is clicked. You need to use parent() because it is a jQuery object, not a normal DOM object, and you need to use parent() twice, because the button lives inside a data cell, which lives inside a row....which is what you want to remove. $(this) is the button clicked, so simply having something like this will remove only the button:
$(this).remove();
While this will remove the data cell:
$(this).parent().remove();
If you want to simply click anywhere on the row to remove it something like this would work. You could easily modify this to prompt the user or work only on a double-click:
$(".delete").live('click', function(event) {
$(this).parent().remove();
});
Hope that helps...I struggled on this a bit myself.
Easy.. Try this
$("table td img.delete").click(function () {
$(this).parent().parent().parent().fadeTo(400, 0, function () {
$(this).remove();
});
return false;
});
All you have to do is to remove the table row (<tr>) tag from your table. For example here is the code to remove the last row from the table:
$('#myTable tr:last').remove();
*Code above was taken from this jQuery Howto post.
function removeRow(row) {
$(row).remove();
}
<tr onmousedown="removeRow(this)"><td>Foo</td></tr>
Maybe something like this could work as well? I haven't tried doing something with "this", so I don't know if it works or not.
$('tr').click(function()
{
$(this).remove();
});
i think you will try the above code, as it work, but i don't know why it work for sometime and then the whole table is removed. i am also trying to remove the row by click the row. but could not find exact answer.
id is not a good selector now. You can define some properties on the rows. And you can use them as selector.
<tr category="petshop" type="fish"><td>little fish</td></tr>
<tr category="petshop" type="dog"><td>little dog</td></tr>
<tr category="toys" type="lego"><td>lego starwars</td></tr>
and you can use a func to select the row like this (ES6):
const rowRemover = (category,type)=>{
$(`tr[category=${category}][type=${type}]`).remove();
}
rowRemover('petshop','fish');
If you are using Bootstrap Tables
add this code snippet to your bootstrap_table.js
BootstrapTable.prototype.removeRow = function (params) {
if (!params.hasOwnProperty('index')) {
return;
}
var len = this.options.data.length;
if ((params.index > len) || (params.index < 0)){
return;
}
this.options.data.splice(params.index, 1);
if (len === this.options.data.length) {
return;
}
this.initSearch();
this.initPagination();
this.initBody(true);
};
Then in your var allowedMethods = [
add 'removeRow'
Finally you can use $("#your-table").bootstrapTable('removeRow',{index:1});
The easiest method to remove rows from table:
For example:
<table id='myTable' border='1'>
<tr id='tr1'><td>Row1</td></tr>
<tr id='tr2'><td>Row2</td></tr>
<tr id='tr3'><td>Row3</td></tr>
<tr id='tr4'><td>Row4</td></tr>
<tr id='tr5'><td>Row5</td></tr>
</table>
//======REMOVE TABLE ROW=========
//1. remove spesific row using its ID
$('#tr1').remove();
//2. remove spesific row using its order or index.
//row index started from 0-n. Row1 index is 0, Row2 index is 1 and so on.
$('#myTable').find('tr:eq(2)').remove();//removing Row3