動的に生成されるasp.netチェックボックスリストがあり、チェックボックスが最初にチェックされていてチェックされていない場合、いくつかのコードを処理する必要があります。
これは、Jquery または Javascript で行う必要があります。
私が見るすべての例は、「Checked」のすべての値を取得することを扱っています。onClick() イベントの ID をトリガーした特定のアイテムを取得することにのみ関心があるため、他のコードを実行してそれを処理できます。
public void DrawPoolWeekCbList()
{
var poolWeeks = ControllerFacade.GetAllPoolWeeksByPoolYear(PageView.PoolWeekYear.Text);
var pWeekCount = poolWeeks.Count;
var curRecord = 0;
foreach (var poolWeek in poolWeeks)
{
PageView.cblPoolWeeks.Items.Add(poolWeek);
PageView.cblPoolWeeks.Items[curRecord].Attributes.Add("onclick", "OnCheckBoxClicked("+ poolWeek +")");
curRecord++;
}
}
//UI Code
function OnCheckBoxClicked(poolWeek) {
var chkId = poolWeek.toString();
$('#<%= lblPoolWeekChange.ClientID %>').text(chkId);
$(".addNew").dialog("open");
}
私が見たすべてのサンプルは、チェックされたすべてのチェックボックスを見つけて、それらすべてをループします。ここでも、関数をトリガーした特定のチェックボックスIDが必要です。
ありがとう!
//Generated HTML -
<input id="ContentPlaceHolder1_cblPoolWeeks_0" type="checkbox" name="ctl00$ContentPlaceHolder1$cblPoolWeeks$0" onclick="OnCheckBoxClicked(01);" value="01" /><label for="ContentPlaceHolder1_cblPoolWeeks_0">01</label></td><td><input id="ContentPlaceHolder1_cblPoolWeeks_1" type="checkbox" name="ctl00$ContentPlaceHolder1$cblPoolWeeks$1" onclick="OnCheckBoxClicked(02);" value="02" /><label for="ContentPlaceHolder1_cblPoolWeeks_1">02</label></td><td><input id="ContentPlaceHolder1_cblPoolWeeks_2" type="checkbox" name="ctl00$ContentPlaceHolder1$cblPoolWeeks$2" onclick="OnCheckBoxClicked(03);" value="03" /><label for="ContentPlaceHolder1_cblPoolWeeks_2">03</label>