javascript
  • jquery
  • html
  • asp.net
  • client-side
  • 2014-02-20 89 views 1 likes 
    1

    我知道這個問題已被多次詢問,但我無法解決這個問題。我的問題很簡單,我們如何使用jQuery獲取asp下拉ID。使用jQuery獲取Asp控件ID

    ASP

    <asp:DropDownList ID="ddlNewPortfolioName" Width="150" runat="server" AutoPostBack="True"></asp:DropDownList> 
    

    JS

    alert($("[id$='<%=ddlPortfolioName.ClientID %>']").val()); 
    

    這個邏輯不工作對我來說這表明不確定的狀態,是否有一些dropdown可用,這些第一個值選擇。請幫我在這

    回答

    4

    只需使用ID Selector (「#id」)如果你只有一個項目,讓你不與外卡需要屬性選擇。由於ClientID爲您提供了元素的完整和準確ID。

    alert($('#<%= ddlPortfolioName.ClientID %>').val()); 
    

    如果您使用的框架4級以上可以使用Control.ClientIDMode保持服務器ID爲客戶端ID

    alert($('#ddlPortfolioName').val()); 
    

    如果您在網格或中繼器或ListView下拉,那麼你將不得不使用含有帶有屬性選擇器的通配符。

    $('[id*=ddlPortfolioName]').each(function(){ 
         alert($(this).val()); 
    }); 
    
    +0

    很抱歉,這不是爲我工作也,你能提出另一種解決方案 – user3136255

    +0

    我KNW約框架,但我framewrok是2.0 – user3136255

    +0

    這是下拉網格或中繼器或ListView? – Adil

    0

    您需要選擇選擇的選項,然後獲取其value.use:

    $('#<%=ddlPortfolioName.ClientID %> option:selected').val() 
    
    0

    你可以嘗試像DIS

    Var data=$("input[id*=ddlPortfolioName]").val(); 
    
    alert(data); 
    

    alert($('#<%= ddlPortfolioName.ClientID %>').val()); 
    

    ,或者它在子頁面中。要傳遞服務器端的ID ..例如我的服務器端ID是

    alert($("#ctl00_MainContent_ddlPortfolioName").val()); 
    
    相關問題