Member 12324523 Ответов: 1

Как отображать загружаемое изображение каждый раз, когда мы меняем выбор выпадающих списков в ASP .NET


In my application i have two drop downs one is year drop down and second is month drop down and below is my jquery function
which i had used to display loading image on the selection change of each drop down but this javascript function is working only for 
first time of my drop down selection and it is working only for one drop down it is not showing for second drop down i had tried 
with onchange event also by calling it in my dropdownlist but its not working


<pre lang="Javascript"><script type="text/javascript">
            $(function year() {
                $(".modal1").hide();
                $("#ddlYear").change(function year() {
                    $(".modal1").show();
                    var top = Math.max($(window).height() / 2 - loading[0].offsetHeight / 2, 0);
                    var left = Math.max($(window).width() / 2 - loading[0].offsetWidth / 2, 0);
                    modal1.css({ top: top, left: left });
                });
            });
           
        </script>
    <script type="text/javascript">
        $(function month() {
            $(".modal1").hide();
            $("#ddlMonth").change(function month() {
                $(".modal1").show();
                var top = Math.max($(window).height() / 2 - loading[0].offsetHeight / 2, 0);
                var left = Math.max($(window).width() / 2 - loading[0].offsetWidth / 2, 0);
                modal1.css({ top: top, left: left });
            });
        });
    </script>
<asp:DropDownList ID="ddlYear" runat="server" Height="22px" Width="121px" OnSelectedIndexChanged="ddlYear_SelectedIndexChanged" onchage="validate year();" AutoPostBack="True">
 <asp:DropDownList ID="ddlMonth" runat="server"  Height="22px" Width="121px" AutoPostBack="True" onchage="validate month();"  OnSelectedIndexChanged="ddlMonth_SelectedIndexChanged">


Что я уже пробовал:

я попытался вызвать свою функцию в ochnage drodownlist, но она не была написана

Karthik_Mahalingam

вы используете панель обновления ?

Member 12324523

да я использую панель обновления

Member 12324523

Может ли кто - нибудь помочь мне решить эту проблему

Karthik_Mahalingam

как вы скрываете модальный после открытия ?

1 Ответов

Рейтинг:
0

Karthik_Mahalingam

обратитесь к этому примеру

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" %>

<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91" Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
     
    <style>
        .modal1 {
            width:200px;
            height:150px;
            background-color:gray;
        }
    </style>
    <script> 

        $(function () {

            $(".modal1").hide();
            $( '#<%= ddlYear.ClientID %>'  + ',#<%= ddlMonth.ClientID %>').change(function () {
                $(".modal1").show(); 
            });
             
        });

        function pageLoad() {   // use this when you are using update panel
            $(".modal1").hide();
        }


        function close(){
            $(".modal1").hide();
        }


    </script>
</head>
<body>
    <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>

                <asp:DropDownList ID="ddlYear" runat="server" Height="22px" Width="121px" OnSelectedIndexChanged="ddlYear_SelectedIndexChanged" AutoPostBack="True"></asp:DropDownList>
                <asp:DropDownList ID="ddlMonth" runat="server" Height="22px" Width="121px" AutoPostBack="True" OnSelectedIndexChanged="ddlMonth_SelectedIndexChanged"></asp:DropDownList>
            </ContentTemplate>

        </asp:UpdatePanel>
        <br /><br /><br />
        <div class="modal1"  >
            <div style="text-align:right">
         <button onclick="close()">close</button>
                </div>
            <h1>Loading..</h1>
        </div>
    </form>
</body>
</html>



protected void Page_Load(object sender, EventArgs e)
     {
         if (Page.IsPostBack) return;
         for (int i = 0; i < 10; i++)
             ddlYear.Items.Add("Year-" + i);


         for (int i = 0; i < 10; i++)
             ddlMonth.Items.Add("Month-" + i);

     }


     protected void ddlYear_SelectedIndexChanged(object sender, EventArgs e)
     {
         System.Threading.Thread.Sleep(2000); // for testing purpose to create a delay
     }

     protected void ddlMonth_SelectedIndexChanged(object sender, EventArgs e)
     {
         System.Threading.Thread.Sleep(2000); // for testing purpose to create a delay
     }


относиться .net - в чем разница между ними ASP.NET AJAX pageLoad() и JavaScript window.onload? - переполнение стека[^]