我有一个下拉列表,其中的类别对应于表中的一列。在下拉列表中选择类别时,功能会隐藏与所选类别不匹配的所有项目。我现在想从项目的父级中删除一个类。表 -> tbody 下的 tr。这是我的代码:
JS
var $rows = $('#table tbody tr');
$("#dropdown").change(function () {
var selected = $(this).find("option:selected").text().toLowerCase();
if (selected != VISA_ALLA) {
$rows.show().filter(function () {
var text = $(this).text().replace(/\s+/g, ' ').toLowerCase();
$(this).parent().removeClass("ugly");
return !~text.indexOf(selected);
}).hide();
} else {
$rows.show();
}
})
分页
$('#table').paginate({
limit: 1,
nextText: "Nästa",
previousText: "Föregående",
childrenSelector: 'tbody > tr.ugly'
});
HTML
<tbody>
@foreach (BuyAndSellAppWeb.Models.Advertisment objProduct in Model)
{
<tr class="ugly">
@if (objProduct.SellerToken)
{
<td>
@Html.ActionLink("Ändra", "Edit", new { id = objProduct.ID }) | @Html.ActionLink("Radera", "DeleteItem", new { id = objProduct.ID }) @*|@Html.ActionLink("Detaljer", "Details", new { id = objProduct.ID })*@
</td>
}
else
{
<td>
@Html.ActionLink("Detaljer", "Details", new { id = objProduct.ID })
</td>
}
<td>
@Html.ActionLink(@objProduct.ProductTitle, "Details", new { id = objProduct.ID })
</td>
<td>@objProduct.Price kr</td>
<td>@objProduct.Created.ToString("yyyy/MMM/dd")</td>
<td id="category">@objProduct.Category</td>
</tr>
}
</tbody>
我究竟做错了什么?“丑陋”类永远不会从 tr 中删除。
- -编辑 - -
所以我想删除 tr`s 上所有与下拉文本不匹配的丑陋类。这是因为我使用的分页呈现所有具有丑陋类的 tr。我希望分页根据下拉选择进行更新。
只需将其内联链接到其他方法即可
$rows.removeClass("ugly").show().filter(function () {
var text = $(this).text().replace(/\s+/g, ' ').toLowerCase();
return !~text.indexOf(selected);
}).hide();
或者在过滤器之后链接......取决于您要完成的工作(不清楚)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句