Этот код работает как талисман, чтобы показать / скрыть строки таблицы на основе выбранных фильтров. Однако ширина таблицы изменяется в зависимости от содержимого строк. Я попытался установить ширину таблицы и ширину каждого столбца по классам на 100% в CSS и в jQuery. Ширина все еще продолжает прыгать в зависимости от размера содержимого в каждом тд. Таблица на самом деле имеет шесть столбцов, поэтому ее ширина от 100% до 50% действительно раздражает.
Я хочу, чтобы он оставался одинаковой ширины независимо от того, какой селектор выбран, и независимо от ширины содержимого в тдс. Но как мне это сделать? Вы можете увидеть три способа, которыми я пытался установить ширину в jQuery. Буду признателен за любые предложения!
$(document).ready(function() {
// show all the organization
$("#org_status tr").show();
$("#filter_status a").click(function(evt) {
evt.preventDefault();
$("#org_status tr").hide();
var id = $(this).attr('id');
//set width of table and columns
$("#org_status").width("100%");
$(".org-name-col").css("width","85%");
$(".org-status-col").attr("width","15%");
$("." + id).show();
//Setting widths here did not work either
});
});
Вот CSS:
#org_status{width:100%;}
.org-name-col{width:85%;}
.org-status-col{width:15%;}
Вот HTML:
<p id='filter_status'>Filter by status:
<a href='#' id='All'>All</a>
<a href='#' id='Active'>Active</a>
<a href='#' id='Inactive'>Inactive</a>
<a href='#' id='Pending'>Pending</a>
</p>
<table id='org_status' class='info_table tablesorter'>
<thead>
<tr>
<th class='org-name-col'>Name</th>
<th class='org-status-col'>Status</th>
</tr>
</thead>
<tbody>
<tr class='All Active'>
<td><a href='admin/org_edit.php?org=29'>Foo Net</a></td>
<td>Active</td>";
</tr>
<tr class='All Inactive'>
<td><a href='admin/org_edit.php?org=22'>Bar</a></td>
<td>Active</td>";
</tr>
<tr class='All Pending'>
<td><a href='admin/org_edit.php?org=11'>
Bar Foo Very Long Org Name Goes Here...........................</a></td>
<td>Active</td>";
</tr>
</tbody>
</table>