2013-02-24 15 views
2

我有一個網格視圖,其中包含一個下拉列表和一個面板,我希望通過下拉列表的選定值使其不可見和可見。如何從Javascript中訪問gridview內的面板?

時不與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和下拉列表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被警告時,它給出undefined。

我試圖做

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

,但它不工作要麼。

請幫

感謝

+0

你在你的函數試圖警告ANS看到,只要是渲染的id是一樣的嗎? – 2013-02-24 11:12:55

+0

你還使用jquery嗎? – 2013-02-24 11:14:00

+0

不,我只是檢查我不知道我可以將它呈現爲MainContent_GridView1_DropDownList1_7我應該嘗試添加GridView客戶端ID – user410911 2013-02-24 11:16:45

回答

0
  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

相關問題