【问题标题】:Confirmation when a dropdown list control's value changes下拉列表控件的值更改时的确认
【发布时间】:2013-03-04 19:12:31
【问题描述】:
我的 aspx 中有以下代码(后面的代码使用 C#)。
<asp:DropDownList ID="ddlConfirm" runat="server" </asp:DropDownList>
有两个值。是和否。
最初,该值为“是”。我想在用户选择“否”后立即显示一个确认弹出框(在任何提交或单击任何内容之前)。
我该怎么做?
【问题讨论】:
标签:
c#
javascript
asp.net
.net
web-applications
【解决方案1】:
您可以使用以下 jQuery 来显示消息。
<asp:DropDownList ID="ddlConfirm" runat="server" OnChange="ddlConfirmClick()">
</asp:DropDownList>
function ddlConfirmClick() {
if ($('#<%= ddlConfirm.ClientID %>').val() == "NO") {
if(confirm("Are you sure you want to continue?")){
// do something.
}
}
}
【解决方案2】:
您可以在 javascript 中处理。
<script type='text/javascript'>
window.onload = function() { HookUpEvent(); }
function HookUpEvent()
{
var comboBox= document.getElementById ( "MyComboId" );
comboBox.onchange = function () { OnComboSelected( this ); }
}
function OnComboSelected(selectedElement)
{
if(selectedElement.value == 'No')
{
alert('Your warning message!');
}
return false;
}
</script>
请注意这里的关键是return false; - 您需要它来防止页面回发。
您可以通过简单地返回 true 有条件地继续回发。
【解决方案3】:
$('#<%= ddlConfirm.ClientID %>').change(function(){
//on-change code goes in here.
if (this.val() == "NO") {
alert("message")
}
});