簡體   English   中英

手風琴工作不正常

[英]Accordion not working properly

我必須顯示一些類似於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的樣式屬性不顯示。 默認情況下,所有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,則現在它打破了第二種情況。 如何解決。

辛苦了。

更新功能。

 var glDivID = 0;
        function testToggle(testDiv) {
        debugger
        var sntHdnValue = $('#hdnSetFlag').val();
        var dvID = $(testDiv).attr('id');
        if (sntHdnValue == 1) {
                $(testDiv).find('div:first').show().attr('isOpen', 'true');
            }
            else {
             $(testDiv)
            .parents('table:first')
            .find('div[isOpen=true]').removeAttr('isOpen').toggle('slow');
             if (glDivID != dvID) {
                 $(testDiv).find('div:first').show().attr('isOpen', 'true');
             }
            }
            sntHdnValue++;
            $('#hdnSetFlag').val(sntHdnValue);
            glDivID = dvID;
        }

我在向網格添加數據時附加了一個id。檢查了相同的內容以測試它是否是自擊式的

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM