簡體   English   中英

.net手風琴導致我遇到問題

[英].net Accordion Causing me Problems

我根據網頁中的操作顯示,隱藏,啟用和禁用了一堆控件。 一切正常,直到我將它們放入手風琴。 現在,我無法獲取Javascript以更新其狀態。 我有一個小例子

這是Javascript

 <script type="text/javascript">
  var ctrl = document.getElementById('<%= btmRocp.ClientID %>');

    function ShowPanel(control)
{
    alert('<%= btmRocp.ClientID %>');
    ctrl.disabled = true;
}
</script>   

這是手風琴

 <form id="form1" runat="server">
    <div>
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <cc1:Accordion  ID="MyAccordion"
                        runat="Server"
                        SelectedIndex="0"                      
                       >
         <Panes>
            <cc1:AccordionPane ID="accordianPane0" runat=server>
            <Header>Create New Report </Header>
            <Content>a
            <asp:Button ID="Button1"  onmouseup="ShowPanel('') " runat="server" Text="Button" />            
            <asp:Button ID="btmRocp" runat="server" Text="Button" />
            </Content>
            </cc1:AccordionPane>
            <cc1:AccordionPane ID="accordianPane1"  runat=server>
            <Header>Create New Report </Header>
            <Content>b</Content>
            </cc1:AccordionPane> 
            </Panes>

        </cc1:Accordion>

我很想知道我在做什么錯,在此警報會打印出正確的ID。

如果我將“ this”對象傳遞給函數,則可以禁用該按鈕,但是我確實需要禁用它,或者像10個對象一樣隱藏

有人有主意嗎?

http://www.riconllc.com/accordian.zip上的示例代碼

手風琴的默認狀態是什么? 崩潰了? 我不知道手風琴的工作方式,但是我懷疑它正在修改HTML DOM,以使頁面首次加載時“ btmRocp”實際上不在頁面本身上出現,直到它變為“可見”為止。 也就是說,它可能是根據手風琴狀態將控件注入到頁面中或從頁面中注入。

解決此問題的最佳選擇是插入“調試器”。 語句在適當的時候插入到頁面中,以在這些時間點檢查實時DOM。

<textbox id="debugbox" onblur="this.value = eval(this.value);"></textbox>

這也是在頁面上使用腳本的好方法。

暫無
暫無

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

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