Мне нужно показать некоторую функциональность, аналогичную гармошке jquery, поэтому я создал специальную функцию jquery для создания эффекта.
есть сетка, в которой есть два div, здесь код.
<asp:GridView ID="grdAccordion" runat="server" AutoGenerateColumns="false" Width="200px">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<div class="myFirstDiv" onclick="testToggle(this)">
<%#Eval("Name")%>
<div class="mySecondDiv" style="display:none">
<%#Eval("Person_Name")%>
</div>
</div>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
Второй div имеет свойство style, отображающее none.по умолчанию все div закрыты.
чем я сделал функцию js, которая использует функцию переключения для выполнения кода действия.
function testToggle(testDiv) {
debugger
var sntHdnValue = $('#hdnSetFlag').val();
if (sntHdnValue == 1) {
$(testDiv).find('div:first').show().attr('isOpen', 'true');
}
else {
$(testDiv)
.parents('table:first')
.find('div[isOpen=true]').removeAttr('isOpen').toggle('slow');
$(testDiv).find('div:first').show().attr('isOpen', 'true');
}
sntHdnValue++;
$('#hdnSetFlag').val(sntHdnValue);
}
здесь я использовал скрытое поледайте мне знать, что это начальное состояние, когда все закрыто, я добавляю свой атрибут attr isopen для моей идентификации
1) текущая ситуация такова: при загрузке всегда должна быть закрыта всякая вещь.2) чем за один раз должен быть открыт только один div.
это работает нормально.
Проблема в том, что если я нажимаю на тот же div, на который я нажал, чтобы открыть, чем у него есть два пользовательскихattr isopen теперь нарушает второй случай.как это решить.