2009-05-04 41 views
7

tôi có thể thêm một thuộc tính đến các mục trong một mục RadioButtonList như vậy:Thêm "onclick" gán cho asp.net mục DropDownList

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

Tuy nhiên, khi tôi cố gắng thêm các thuộc tính để điều khiển DropDownList nó doesn dường như không hoạt động. Tôi hy vọng nó sẽ tương tự.

Trả lời

15

Điều này không thể thực hiện theo cách tương tự như radioButtonList, đối với danh sách thả xuống, tên sự kiện thuộc tính chính xác là "onchange" thay vì "onclick". Sự kiện này nên được gắn vào DropDownList chính nó và không phải là mặt hàng như sau:

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

Ngoài ra, đây là một chút phức tạp hơn và đòi hỏi một phong tục javascript chức năng để thực hiện một hành động khác nhau tùy thuộc vào tùy chọn được chọn. Dưới đây là một ví dụ:

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

Javascript tùy chỉnh chức năng: này giả định rằng giá trị cho các mục thả xuống là "CreditCard" và "SendPayment".

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

Tôi đã thay đổi "onclick" thành "onchange" và vẫn không hoạt động. –

+1

Nó không nên được gắn vào các mục, nhưng vào danh sách chính nó. –

+0

Có cách nào tôi có thể đính kèm nó vào các mục như trên RadioButtonList không? Đó là những gì tôi đang cố gắng để đạt được. –

1

Actualy cho một DropDownList trong ASP Net, tài sản bạn đang muốn tìm OnSelectedIndexChanged hoặc OnTextChanged. Cả hai đều hoàn toàn giống nhau.

Hy vọng sự trợ giúp này;)

+0

@Fox - đó là những sự kiện bên máy chủ chính xác. Tuy nhiên, Ngài đang tìm kiếm các sự kiện phía khách hàng. –

+0

Tôi xấu, xin lỗi. OnClick là ứng dụng khách hàng khi bạn nói ... –

Các vấn đề liên quan