2012-08-23 29 views
1

我有這個領域,與可見=「假」我可以通過後端的cs頁面訪問它,但我怎樣才能訪問與jQuery的控制? 我小的代碼可能幫助..如何通過jQuery訪問可見=「false」的字段?

<tr> 
  <td class="TDCaption" style="text-align: left"> 
    <asp:Label ID="lblMsg" runat="server" EnableViewState="False" ForeColor="#CC0000"></asp:Label> 
    <div class="DivStyleWithScroll" style="width: 100%; overflow: scroll; height: 250px;"> 
      <asp:GridView ID="grdReport" runat="server" AutoGenerateColumns="False" 
      DataKeyNames="CustCode" ShowFooter="True" EmptyDataText="No record found" 
      PageSize="50" CssClass="mGrid" onrowdatabound="grdReport_RowDataBound"> 
        <Columns> 
          <asp:TemplateField Visible="false"> 
       <ItemTemplate> 
        <asp:Label ID="lblCustCodes" runat="server" Text='<%# Eval("CustCode") %>' CssClass="grdCustName"></asp:Label> 
       </ItemTemplate> 
      </asp:TemplateField> 
          <%--other columns--%> 

jQuery的是

$('#<%=btnCompare.ClientID%>').click(function() { 
      if ($(':checkbox:checked').size() == 0) { 
      } 
      else { 
       custList = $(':checkbox:checked').map(function() { return $(this).closest('tr').find('.grdCustName').text() }).get(); 
       alert(custList); 
      } 
    }); 
+3

我想我就在想,'。可見= FALSE'將停止從HTML呈現的控制。你是否檢查過發送給瀏覽器的HTML源代碼? – freefaller

+1

@freefaller你完全正確。做出答案 – podiluska

回答

2

我相信設置.Visible = false將停止從被渲染到HTML的控制,所以jQuery將簡單無法找到相當它。

相反,代碼隱藏,請嘗試使用...

ctrl.Style("display") = "none" 

或者上標記,請嘗試使用控制以下屬性...

style="display:none" 
0

如果可見是假的,那麼控件並沒有下載到客戶端,所以你不能直接從javascript/jquery訪問它:它根本就不存在。您可以將控件的值放在一些hidden field中,然後可以訪問它。因爲它們在前端不可見。 Hiddenfields僅在HTML來源中可見。

0

Label.ForeColor = System.Drawing.Color.Transparent在後面

代碼,然後將標籤Visible設置爲true

相關問題