如何部分隐藏asp.net复选框列表项

How can I partially hide asp.net checkboxlist items

本文关键字:复选框 列表 net asp 何部 隐藏      更新时间:2024-04-04

我正在编写一个具有分面导航的asp.net页面。我有一堆过滤器,它们被渲染为复选框列表。这些复选框列表可能很长(例如国家和地区)。在页面加载方面,我只想为每个类别显示8个选项,下面有一个"更多"按钮。如果用户单击"更多",则只应展开该类别的选项列表。我试着用做这个

chkBoxCountryNameList.Items[i].Attributes.CssStyle["display"] = "none";

这是可行的,但当ASP.NET呈现CheckBoxList时,它使用一个表来实现,每个CheckBox控件都嵌套在自己的元素中。这意味着,即使我不想看到的项目没有显示,但它们行的空白是存在的,所以我仍然需要满足于相当多的空白。

我想到了另一种方法,那就是去服务器端获取其余的项目,但这在服务器端非常繁重。

做这个客户端的最佳选择是什么,这样我就不必去服务器端重新查询数据库了?

感谢

您还需要为要隐藏的每个复选框隐藏表行。搜索如何在代码背后运行javascript,然后每次呈现checkboxlist时都运行此javascript代码。

function hideCheckBoxes() {
    $("table[id$='idOfCheckboxList']").find(":checkbox:hidden").each(function() {
        $(this).closest("tr").hide();
    });
}

编辑:您可以使用:gt-jquery选择器来满足您的需求http://api.jquery.com/gt-selector/

function hideCheckBoxes() {
    $("table[id$='idOfCheckboxList']").find(":checkbox:gt(8)").each(function() {
        $(this).closest("tr").hide();
    });
}