asp.net 复选框和嵌套转发器

发布于 2024-11-15 08:16:48 字数 75 浏览 0 评论 0原文

我在每一行中都嵌套了重复器和复选框(如树视图或分类和项目视图)。 每次选中/取消选中类别都应选中/取消选中项目。 有什么建议吗? 谢谢,

I have nested repeaters and checkbox in each row(like a tree view or ctaegory and items view).
each check/uncheck the category should check/uncheck the items.
any suggestions?
Thanks,

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

帝王念 2024-11-22 08:16:48

我以前必须这样做,并且我已经使用简单的 JavaScript 完成了它。基本上,当您绑定中继器时,将 CategoryId 提供给复选框的检查事件,例如,

onchange="SelectCategory('<%# Eval("CategoryID") %>')"

将您的子项包裹在 ID 以 CategoryId 结尾的 div 中,例如,

<div ID="divItems'<%# Eval("CategoryID") %>'">...</div>

这将允许您通过执行以下操作在 SelectCategory(catId) 函数中找到它

itemsDiv = document.GetElementById("divItems" + catId);

循环遍历它的子项并检查你的项目:

var items = itemsDiv.getElementsByTagName('INPUT');
for (var i=0; i < items.length; i++) {
        if (collection[i].type.toUpperCase() == 'CHECKBOX')
            collection[i].checked = true; // or even "= CategoryCheckbox.checked"
    }

使用 jQuery 效果更好:

$('#divItems' + catId).find(':checkbox').attr('checked', 'checked');

I had to do this before and I've done it with a simple JavaScript. Basically, when you bind you repeater, give the CategoryId to the checkbox's check event, e.g.

onchange="SelectCategory('<%# Eval("CategoryID") %>')"

have your child items wrapped around in a div with ID ending with CategoryId, e.g.

<div ID="divItems'<%# Eval("CategoryID") %>'">...</div>

this will allow you to find it in your SelectCategory(catId) function by doing

itemsDiv = document.GetElementById("divItems" + catId);

loop through its children and check your items:

var items = itemsDiv.getElementsByTagName('INPUT');
for (var i=0; i < items.length; i++) {
        if (collection[i].type.toUpperCase() == 'CHECKBOX')
            collection[i].checked = true; // or even "= CategoryCheckbox.checked"
    }

even better with jQuery:

$('#divItems' + catId).find(':checkbox').attr('checked', 'checked');
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文