簡體   English   中英

如何從Javascript訪問gridview內部的面板?

[英]How to access a panel inside gridview from Javascript?

我有一個網格視圖,其中包含一個下拉列表和一個面板,希望通過該下拉列表的選定值使其不可見和可見。

不與gridview一起使用時可以使用的javascript代碼是:

   function showPannel(panelId,dropdownId ) {
        var panel = document.getElementById(panelId);
        var dropDown = document.getElementById(dropdownId);
        if (dropDown.options[dropDown.selectedIndex].value = 'Diesel Deals') {
             panel.className = "visibleDiv";

       }
        else{
            panel.className = "hiddenDiv";
            }

    }

我從這里傳遞panelId和dropdownlist id:

    if (e.Row.RowType == DataControlRowType.DataRow)
        {
            Panel p = (Panel)e.Row.FindControl("Panel1");
            DropDownList t1 = (DropDownList)e.Row.FindControl("DropDownList1");
            t1.Attributes.Add("onchange",
                 string.Format("javascript:showPannel('{0}', '{1}')",p.ClientID, t1.ClientID ));
        }

但它不起作用。 該函數被調用,但是在警告dropDown.options [dropDown.selectedIndex] .value時,其功能未定義。

我試着做

                    Gridview1 = document.getElementById('<%=GridView1.ClientID%>');
             var cell = Gridview1.rows[0].cells[2];
             var dropdownlist = cell.childNodes[0];
             var dropdownSelectedValue = dropdownlist.options[dropdownlist.selectedIndex].value;
             alert(dropdownSelectedValue); 

但它也不起作用。

請幫忙

謝謝

            Panel p = (Panel)e.Row.FindControl("Panel1");
            DropDownList t1 = (DropDownList)e.Row.FindControl("DropDownList1");
            string p_id = GridView1.ClientID + "_" + p.ClientID;
            string ddL_id = GridView1.ClientID + "_" + t1.ClientID;
            t1.Attributes.Add("onchange",
                 string.Format("javascript:showPannel('{0}', '{1}')", p_id, ddL_id ));

感謝您提供有關渲染ID的提示

暫無
暫無

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

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