C'est parce que vous affichez la ligne en bloc. Essayez d'utiliser visibility == "hidden"
au lieu de display
EDIT: Vous pouvez également utiliser display = "table-row"
comme indiqué ci-dessous. L'utilisation visibility == "hidden"
masquera la ligne, mais elle occupera toujours le même espace qu'avant.
if (x.style.display === "none") {
x.style.display = "table-row";
} else {
x.style.display = "none";
}
function toggle(tr_id)
{
\t var x = document.getElementById(tr_id);
if (x.style.visibility === "hidden") {
x.style.visibility = "visible";
} else {
x.style.visibility = "hidden";
}
}
<div class="col-lg-6 col-lg-push-3">
<table class="table table-resposive ">
<tr>
<td>name</td>
<td>address</td>
<td>age</td>
<td><a onclick="toggle('edit2');" class="btn btn-sm btn-primary">edit</a></td>
</tr>
<tr id="edit1">
<td><input type="text" ></td>
<td><input type="text" ></td>
<td><input type="text" ></td>
<td><a class="btn btn-sm btn-success">save</a></td>
</tr>
<tr id="edit2">
<td><input type="text" ></td>
<td><input type="text" ></td>
<td><input type="text" ></td>
<td><a class="btn btn-sm btn-success">save</a></td>
</tr>
<tr id="edit3">
<td><input type="text" ></td>
<td><input type="text" ></td>
<td><input type="text" ></td>
<td><a class="btn btn-sm btn-success">save</a></td>
</tr>
</table>
Snippet 2:
function toggle(tr_id)
{
\t var x = document.getElementById(tr_id);
if (x.style.display === "none") {
x.style.display = "table-row";
} else {
x.style.display = "none";
}
}
<div class="col-lg-6 col-lg-push-3">
<table class="table table-resposive ">
<tr>
<td>name</td>
<td>address</td>
<td>age</td>
<td><a onclick="toggle('edit2');" class="btn btn-sm btn-primary">edit</a></td>
</tr>
<tr id="edit1">
<td><input type="text" ></td>
<td><input type="text" ></td>
<td><input type="text" ></td>
<td><a class="btn btn-sm btn-success">save</a></td>
</tr>
<tr id="edit2">
<td><input type="text" ></td>
<td><input type="text" ></td>
<td><input type="text" ></td>
<td><a class="btn btn-sm btn-success">save</a></td>
</tr>
<tr id="edit3">
<td><input type="text" ></td>
<td><input type="text" ></td>
<td><input type="text" ></td>
<td><a class="btn btn-sm btn-success">save</a></td>
</tr>
</table>
s'il y a plus d'une ligne –
@AbbasMohammed Vérifiez la réponse mise à jour. J'ai inséré 2 extraits, de sorte que vous pouvez vérifier le comportement des deux – Munawir
Je pense que vous avez besoin d'un second en utilisant 'display =" table-row "' – Munawir