0

基本的に私がする必要があるのは、データベースのorder.OrderIDからcurrentIDを新しいテーブルに渡し、 OrderDetailsを介して現在の注文の新しいテーブルに 3 つの列を表示することです。これはすべて Northwinds データベースの一部です。

情報を処理するために必要な 2 つのテーブルとコードを作成しました。最初のテーブルは最初から読み込まれ、正常に動作しますが、ボタンをクリックするとテーブルが空("drawOrderDetails")として配置されます。今のところ、現在選択されている ID を表示して一覧表示します。これはすべてJqueryとJsonを使用して行う必要があり、サーバーがポストバックしないようにAjaxを介してテーブルを動的に作成する必要があります。

document.ready のコードは次のとおりです。

        $(function () {

        // Laddar Order Tabellen från start!
        $(document).ready(function () {

            var url = "GetOrders.ashx";
            drawOrders(url); 
        });

        // Skapar Order Details Tabellen!
        $('.btn').click (function () {
            alert(this.id);
            drawOrderDetails(url);
        });
    });    

最初のテーブルのコードは次のとおりです。

        function drawOrders(url) {

        var data = {
            "dataType": "jsonp",
            "data": {
               "maxdelay": 3000,
               "dummy": 0,
            }
        };

        $.ajax(url, data).done(function (result) {

            var table = $("<table id='orders'>").addClass("orderTable");

            var tr = $("<tr>")
            .append($("<th>").html("Order ID"))
            .append($("<th>").html("Kund ID"))
            .append($("<th>").html("Order Datum")).appendTo(table);

            $("#orderData").append(table);

            // Startar loopen vid ID 10300 och fortsätter.
            for (var i = 52; i < result.length; i++) {

                var order = result[i];
                tr = $("<tr>")
                .append($("<button class='btn'>").html(order.OrderID))
                .append($("<td>").html(order.CustomerID))
                .append($("<td>").html(order.orderDate)).appendTo(table);

                tr = $("<tr>").attr("id", "order_" + order.OrderID);
            }

            //rita ut dom lite effektfullt!
            var tbl = tr.find("tr");
            var i = 0;
            tbl.each(function () {
                if (i % 2 == 0) {
                    // $(this).fadeIn(i * 10, "swing");
                    $(this).fadeIn("normal"); // slow, normal eller fast.
                }
                else {
                    // $(this).slideDown((lis.length * 10) - (i * 10), "swing");
                    $(this).slideDown("normal");
                }
                i++;
            });
        });
    }

そして、ここに2番目のテーブルがあります:

function drawOrderDetails(url) {

            var data = {
                "dataType": "jsonp",
                "data": {
                    "maxdelay": 3000,
                    "dummy": 0
                }
            };

            $.ajax(url, data).done(function (result) {

                var table = $("<table id='order_details'>").addClass("orderDetailsTable");

                var tr = $("<tr>")
                .append($("<th>").html("Order ID"))
                .append($("<th>").html("Enhets Pris"))
                .append($("<th>").html("Mängd")).appendTo(table);


                $("#orderDetailsData").empty().append(table);

                for (var i = 0; i < result.length; i++) {
                    var orderDetails = result[i];
                    tr = $("<tr>")
                    .append($("<td>").html(orderDetails.OrderID))
                    .append($("<td>").html(orderDetails.UnitPrice))
                    .append($("<td>").html(orderDetails.Quantity)).appendTo(table);

                    tr = $("<tr>").hide().attr("id", "order_details" + orderDetails.OrderID);
                }

                var tbl = tr.find("tr");
                var i = 0;
                tbl.each(function () {
                    if (i % 2 == 0) {
                        // $(this).fadeIn(i * 10, "swing");
                        $(this).fadeIn("normal"); // slow, normal eller fast.
                    }
                    else {
                        // $(this).slideDown((lis.length * 10) - (i * 10), "swing");
                        $(this).slideDown("normal");
                    }
                    i++;
                });
            });
    }

どんな答えでも役に立ちますthx!:)

http://i.imgur.com/BbcNhhV.png : 最初にロードされたテーブルの写真。異なる ID のクリック可能なボタンがあります。

4

0 に答える 0