zoukankan      html  css  js  c++  java
  • Jquery实现无刷新DropDownList联动

     

    <html xmlns="http://www.w3.org/1999/xhtml">

    <head runat="server">

        <title></title>

        <script type="text/javascript" src="Scripts/jquery-1.4.1.min.js"></script>

        <style type="text/css">

            #ddlEmployeeCars

            {

                display: none;

                position: absolute;

                top: 50px;

                left: 9px;

            }

        </style>

        <script type="text/javascript">

            $(function () {

                var $ddl = $("select[name$=ddlEmployee]");

                var $ddlCars = $("select[name$=ddlEmployeeCars]");

                $ddl.focus();

                $ddl.bind("change keyup", function () {

                    if ($(this).val() != "0") {

                        loadEmployeeCars($("select option:selected").val());

                        $ddlCars.fadeIn("slow");

                    } else {

                        $ddlCars.fadeOut("slow");

                    }

                });

            });

     

            function loadEmployeeCars(selectedItem) {

                $.ajax({

                    type: "POST",

                    url: "WebForm1.aspx/FetchEmployeeCars",

                    data: "{id: " + selectedItem + "}",

                    contentType: "application/json; charset=utf-8",

                    dataType: "json",

                    async: true,

                    success: function Success(data) {

                        printEmployeeCars(data.d);

                    }

                });

            }

     

            function printEmployeeCars(data) {

                /* 方法1

                $("select[name$=ddlEmployeeCars] > option").remove();

                   for (var i = 0; i < data.length; i++) {

                      $("select[name$=ddlEmployeeCars]").append( $("<option></option>").val(data[i].Id).html(data[i].Car) );

                }

                */

     

                $("select[name$=ddlEmployeeCars]").empty();

                $.each(data, function (i, item) {

                    $("<option></option>").val(item["Id"]).text(item["Car"]).appendTo($("select[name$=ddlEmployeeCars]"));

                });

            }      

        </script>

    </head>

    <body>

        <form id="form1" runat="server">

        <div>

            <asp:DropDownList ID="ddlEmployee" runat="server" AppendDataBoundItems="true">

                <asp:ListItem Text="(Please Select)" Value="0" Selected="True" />

            </asp:DropDownList>

            <asp:DropDownList ID="ddlEmployeeCars" runat="server">

            </asp:DropDownList>

        </div>

        </form>

    </body>

    </html>

     

    protected void Page_Load(object sender, EventArgs e)

    {

       if (!IsPostBack)

       {

          var employees = new Employee();

          ddlEmployee.DataSource = employees.FetchEmployees();

          ddlEmployee.DataTextField = "Surname";

          ddlEmployee.DataValueField = "Id";

          ddlEmployee.DataBind();

       }

    }

    [WebMethod]

    public static List<EmployeeCar> FetchEmployeeCars(int id)

    {

     var emp = new EmployeeCar();

      return emp.FetchEmployeeCars(id);

    }

    public class EmployeeCar

        {

            public int Id { get; set; }

            public string Car { get; set; }

     

            private static List<EmployeeCar> LoadData()

            {

                return new List<EmployeeCar>

                             {

                                 new EmployeeCar {Id = 1, Car = "Ford"},

                                 new EmployeeCar {Id = 1, Car = "Holden"},

                                 new EmployeeCar {Id = 1, Car = "Honda"},

                                 new EmployeeCar {Id = 2, Car = "Toyota"},

                                 new EmployeeCar {Id = 2, Car = "General Motors"},

                                 new EmployeeCar {Id = 2, Car = "Volvo"},

                                 new EmployeeCar {Id = 3, Car = "Ferrari"},

                                 new EmployeeCar {Id = 3, Car = "Porsche"},

                                 new EmployeeCar {Id = 3, Car = "Ford2"}

                             };

            }

     

            public List<EmployeeCar> FetchEmployeeCars(int id)

            {

                return (from p in LoadData()

                        where p.Id == id

                        select p).ToList();

            }

        }

     

        public class Employee

        {

            public int Id { get; set; }

            public string GivenName { get; set; }

            public string Surname { get; set; }

     

            public List<Employee> FetchEmployees()

            {

                return new List<Employee>

                            {

                                 new Employee {Id = 1, GivenName = "Tom", Surname = "Hanks"},

                                 new Employee {Id = 2, GivenName = "Hugh", Surname = "Jackman"},

                                 new Employee {Id = 3, GivenName = "Petter", Surname = "Liu"}

                            };

            }

     

            public Employee FetchEmployee(int id)

            {

                var employees = FetchEmployees();

                return (from p in employees

                        where p.Id == id

                        select p).First();

            }

        }

  • 相关阅读:
    codeforces-1144 (div3)
    codeforces-1142 (div1)
    codeforces-1131 (div2)
    codeforces-1132 (div2)
    [HAOI2006]均分数据
    Ellipsoid
    [JSOI2004]平衡点 / 吊打XXX
    CF208E Blood Cousins
    CF570D Tree Requests
    CF600E Lomsat gelral
  • 原文地址:https://www.cnblogs.com/lgx5/p/6491074.html
Copyright © 2011-2022 走看看