2009-05-04 90 views
7

我可以一個屬性在單選按鈕列表項,像這樣添加到項目:添加「點擊」屬性ASP.NET下拉列表項

PaymentMethodDropDownList.Items[0].Attributes.Add("onclick", "javascript:showNoMethods();"); 
PaymentMethodDropDownList.Items[1].Attributes.Add("onclick", "javascript:showCreditCardMethod();"); 
PaymentMethodDropDownList.Items[2].Attributes.Add("onclick", "javascript:showSendPaymentMethod();"); 

然而,當我嘗試將屬性添加到DropDownList控件沒有關係似乎沒有用。我希望它是相似的。

回答

15

這不能以同樣的方式作爲一個單選按鈕列表來完成,一個下拉列表,正確的屬性事件名稱是「平變化」,而不是「onclick」事件。 該事件應如下貼到下拉列表本身,而不是項目:

PaymentMethodDropDownList.Attributes.Add("onchange", 
              "showCreditCardMethod();"); 

此外,這是一個稍微複雜一些,需要自定義JavaScript函數取決於所選擇的選項來執行不同的操作。這裏有一個例子:

PaymentMethodDropDownList.Attributes.Add("onchange", 
              "handleDropDownEvents(this);"); 

自定義JavaScript函數:這個假定的下拉列表項的值是「信用卡式」和「SendPayment」。

<script type="text/javascript"> 
    function handleDropDownEvents(e){ 
     if(e.value == "CreditCard"){ 
     showCreditCardMethod(); 
     } 
     else if(e.value == "SendPayment"){ 
     showSendPaymentMethod(); 
     } 
    } 
</script> 
+0

我改變了「onclick」爲「onchange」,它仍然無法正常工作。 – 2009-05-04 18:44:42

+1

它不應該附加到項目,而是附加到列表本身。 – 2009-05-04 18:45:47

1

Actualy在ASP.NET的一個DropDownList,物業你要找的是OnSelectedIndexChangedOnTextChanged。兩人的工作完全相同。

希望這個幫助;)