我可以为RadioButtonList项中的项添加属性,如下所示:
PaymentMethodDropDownList.Items[0].Attributes.Add("onclick","javascript:showNoMethods();"); PaymentMethodDropDownList.Items[1].Attributes.Add("onclick","javascript:showCreditCardMethod();"); PaymentMethodDropDownList.Items[2].Attributes.Add("onclick","javascript:showSendPaymentMethod();");
解决方法
这不能以与radioButtonList相同的方式完成,对于下拉列表,正确的属性事件名称是“onchange”而不是“onclick”.
该事件应附加到DropDownList本身,而不是如下项目:
该事件应附加到DropDownList本身,而不是如下项目:
PaymentMethodDropDownList.Attributes.Add("onchange","showCreditCardMethod();");
此外,这有点复杂,并且需要自定义javascript函数来执行不同的操作,具体取决于所选的选项.这是一个例子:
PaymentMethodDropDownList.Attributes.Add("onchange","handleDropDownEvents(this);");
自定义Javascript函数:这假设下拉项的值是“CreditCard”和“SendPayment”.
<script type="text/javascript"> function handleDropDownEvents(e){ if(e.value == "CreditCard"){ showCreditCardMethod(); } else if(e.value == "SendPayment"){ showSendPaymentMethod(); } } </script>