2011-06-14 11 views
0

各行にネストされたリピータとチェックボックスがあります(ツリービューやctaegoryとitemsビューなど)。 それぞれチェック/チェックボックスをオフにしてアイテムのチェックを外す必要があります。 提案がありますか? ありがとう、asp.netチェックボックスとネストされたリピータ

+0

助けて? – John

+0

JS-f.exで最もうまくいくと思います。 jQuery。その後、各チェックボックスの変更 - それはちょうどその子供たちと同じことをすることができます.. – ub1k

+1

このスレッドからアイデアを得るhttp://stackoverflow.com/questions/1220715/creating-a-nested-repeater-control-dynamically/1220836# 1220836 –

答えて

0

私はこれを前もってやる必要がありました。基本的に、リピーターをバインドするときは、CategoryIdをチェックボックスのチェックイベントに付けます。

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

あなたの子供のアイテムは、CategoryIdで終わるIDのdivで囲まれています。

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

これは、あなたがその子を通して

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

ループを実行して、SelectCategory(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

+0

あなたの助けのために10倍、私は少しそれを変更しなければならなかったが、それは非常にうまくいった! – DubiOO

関連する問題