【问题标题】: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")
      }
          });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多