2009-05-04 20 views
7

に「onclickの」属性を追加:私はそうのようなRadioButtonListの項目内の項目に属性を追加することができます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();"); 

しかし、私はそれはdoesnのDropDownListのコントロールに属性を追加しようとすると、うまくいきません。私はそれが似ていると思います。

答えて

15

これはradioButtonListと同じ方法で行うことはできません。ドロップダウンリストの場合、正しい属性イベント名は "onclick"ではなく "onchange"です。 は、次のようにイベントが項目自体がDropDownListコントロールしていないために添付する必要があります。

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

また、これはもう少し複雑であり、選択したオプションに応じて、異なるアクションを実行するJavaScript関数のカスタムが必要です。ここでは例です:

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

カスタムJavaScript機能:このドロップダウン項目の値が「のCreditCard」と「SendPayment」であることを前提としています。 ASP .NETでのDropDownListのため

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

"onclick"を "onchange"に変更しましたが、それでも機能しません。 –

+1

アイテムには添付しないでください。リスト自体には添付しないでください。 –

+0

RadioButtonListのようなアイテムにアタッチする方法はありますか?それが私が得ようとしていることです。 –

1

Actualy、あなたが探しているプロパティをOnTextChangedをOnSelectedIndexChangedています。両方とも全く同じ仕事をしています。

希望

+0

@Fox - 正しいサーバー側のイベントです。しかし、彼はクライアント側のイベントを探しています。 –

+0

私の悪い、申し訳ありません。あなたが言ったように、OnClickはクライアント側のものです... –

関連する問題