私のリピーターは以下の通りです
<ItemTemplate>
<tr>
<td class="ms-vb2">
<a href="#" id="aTitle" runat="server" onclick='<%# DataBinder.Eval(Container.DataItem,"ColumnLink") %>'>
<%# DataBinder.Eval(Container.DataItem,"FieldName") %></a>
</td>
<td class="ms-vb2">
<asp:Label Text='<%# DataBinder.Eval(Container.DataItem,"ControlType") %>' runat="server"
ID="lblType" />
</td>
<td class="ms-vb2" colspan="2">
<asp:Image ID="imgChecked" runat="server" ImageUrl="/_layouts/images/check.gif" AlternateText='<%# DataBinder.Eval(Container.DataItem,"IsRequired") %>' />
</td>
<td class="ms-vb2" colspan="2">
<asp:CheckBox ID="chkGroupUnique" Checked="false" runat="server" AutoPostBack="true"
OnCheckedChanged="chkGroupUnique_CheckChanged" /><%--OnCheckedChanged="chkGroupUnique_CheckChanged"Checked='<%# Boolean.Parse(DataBinder.Eval(Container.DataItem,"Approved").ToString()) %>'--%>
</td>
</tr>
dataitem の 1 つはチェックボックスです。このチェックボックスをクリックすると、チェックボックスの ID と必要なデータ (lblType) を取得できます。これは、以下のように ItemDataBound イベントにそれらのものを追加したためです。
CheckBox chk = (CheckBox)e.Item.FindControl("chkGroupUnique");
Label lblType = (Label)e.Item.FindControl("lblType");
chk.Attributes.Add("onclick", "Check(this,'" + chk.ClientID + "','" + lblType.ClientID + "');");
onclick 関数にはこのコードが含まれています
function Check(checkbox, chkBoxId, typeId) {
var chk = document.getElementById(chkBoxId);
var type = document.getElementById(typeId);
if (checkbox.checked) {
var t = type.innerText;
}
return false;
}
これで、チェックボックス clientId とラベル clientId の両方を取得できました。チェックされている他のチェックボックスがあり、その行ラベル コントロールに同じ値があるかどうかを確認したい。jQueryまたはプレーンなjavascriptを使用してそれを行うにはどうすればよいですか
前もって感謝します