2016-08-26 35 views
0

通話ASP下拉列表更改JavaScript功能

 <script type="text/javascript"> 
 
      function ddl(id) { 
 
     //   var id = document.getElementById('<%=DDLquestionType.ClientID%>').value; 
 
       if (id == "Open") { 
 
        AmericanAnswer.style.display = 'none'; 
 
        document.getElementById('Answer1_Btn').style.visibility = false; 
 
        
 
       } 
 
       alert(id); 
 
      } 
 
     </script>
   <asp:DropDownList ID="DDLquestionType" CssClass="ddlQuestionType box" runat="server" AutoPostBack="True" onchange="ddl(this)" > 
 
        <asp:ListItem Text="American" Value="American"></asp:ListItem> 
 
        <asp:ListItem Text="Open" Value="Open"></asp:ListItem> 
 
        <asp:ListItem Text="Yes/No" Value="YesNo"></asp:ListItem> 
 
        <asp:ListItem Text="Numerical" Value="Numerical"></asp:ListItem> 
 
       </asp:DropDownList>

我有這樣的Java腳本函數:

對此我嘗試在下拉列表中選擇更改

它不調用工作。 我也試過 onchange =「javascript:ddl()」和沒有參數的函數,ononchange =「javascript:ddl(this);」, ononchange =「javascript:ddl(this.value);」, 和很多其他。 我是新來的java腳本,任何解釋鏈接也將高度讚賞

+0

請不要發佈您的代碼截圖。這就像去汽車修理店和你的車的照片。發佈您的代碼。 – Tomalak

+0

@Tomalak只需複製粘貼或有更好的方法來做到這一點? – InnaS

+0

當你編輯你的問題時,你應該看到一個黃色方塊,提示如何使用編輯器。其中包括如何發佈代碼。 – Tomalak

回答

0

你dosent需要傳遞這個參數或id,你只需調用函數和onchange()事件來調用函數。在JavaScript中使用 使用您的下拉列表的ID來獲取下拉列表的值。

<script type="text/javascript"> 
 
function processchange(value) 
 
{ 
 
    if(ddl.value=="American") 
 
    // your code 
 
} 
 
</script> 
 

 
<dropdownlist id="ddl" onchange="processchange()" > 
 
    //enter your dropdown items 
 
    
 
    </dropdownlist>

0

當您通過this作爲參數,您將DropDownList本身傳遞給Javascript函數。因此,您不需要使用id來檢索控件。您可以使用value屬性獲取所選項目的值,並且可以使用options陣列訪問項目。

<asp:DropDownList runat="server" onchange="processChange(this);" ... > 

function processChange(ddl) { 
    if (ddl.value == 'Open') { 
     var americanItem = ddl.options[0]; 
     ... 
    } 
} 

既然你已經設置AutoPostBack="true"爲DropDownList,一些你在你的JavaScript功能所做的更改可能回傳後丟失。您可以嘗試使用AutoPostBack="false"來查看區別。

+0

謝謝!它現在有效 – InnaS

+0

不客氣。 :-) – ConnorsFan