Повторитель asp.net и jQuery перебирают все строки, чтобы найти флажок и значение метки

Мой репитер как ниже

<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>

Одним из элементов данных является флажок, после нажатия которого я могу получить идентификатор флажка, а также данные, которые я хочу (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

заранее спасибо

1 ответ

Я бы предложил вам добавить каждый элемент управления CheckBox в коллекцию элементов управления в событии ItemDataBound (вы также можете создать коллекцию их идентификаторов).

Передайте эту коллекцию в функцию Javascript и в функции Javascript выполните итерацию по ней, чтобы проверить состояние флажков.

Другие вопросы по тегам