2011-06-14 81 views
0

我在每一行中嵌套中继器和复选框(如树视图或ctaegory和项目视图)。 每个检查/取消选中类别应检查/取消选中项目。 有什么建议吗? 谢谢,asp.net复选框和嵌套中继器

+0

得到了一些示例代码帮帮我? – John 2011-06-14 10:13:48

+0

我认为最好在JS - f.ex中完成。 jQuery的。然后在每个复选框更改 - 你可以做它的孩子一样.. – ub1k 2011-06-14 10:14:56

+1

从这个线程得到一个想法http://stackoverflow.com/questions/1220715/creating-a-nested-repeater-control-dynamically/1220836# 1220836 – 2011-06-14 10:15:04

回答

0

我不得不这样做,我已经完成了一个简单的JavaScript。基本上,当你绑定你的转发器时,将CategoryId赋予复选框的检查事件,例如

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

将您的孩子物品包裹在ID以ID结尾的div中,例如,

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

这将让你找到它在你选择分类(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'); 
+0

它应该适用于asp:CheckBox控件(服务器端控件)。唯一需要注意的是这些控件的客户端ID可能与您所期望的不同。做一个查看源查看我的意思。 – Tsar 2011-06-15 10:12:27

+0

10倍的帮助,我不得不改变它,但它工作得很好! – DubiOO 2011-06-15 12:40:11