Ajax + PHP 多行

Ajax + PHP in multi row

我创建了一个简单的网页来一次添加一个产品。用户只需输入产品名称,所有产品信息将通过 AJAX 获取。我使用 jQuery AJAX 并且有效。

但是现在用户希望在行的末尾有一个按钮,以便他们可以在同一页面中添加许多产品。所以当他们想添加更多产品时,只需单击按钮,下面就会出现一个新行供他们添加产品。

  1. 我怎样才能将数据传递给 PHP?每个文本框的名称是什么?在PHP,我怎样才能得到所有这些产品信息?在数组中?
  2. 如何使用ajax将收到的信息放到不同的行? IE。当用户 select 第二行产品时,如何将产品信息放回第二行字段?
  3. 如果我使用 AJAX,我知道我们可以使用 JSON 将多个数据传递到服务器。我也可以接收多个数据吗?现在我只使用分隔符。

有什么例子吗?

谢谢

有很多可能性可以做到这一点。这是一。 我不知道你想在哪里计算你的小计。和折扣。它可以在 javascript 内完成,也可以在 php 内完成。这是你的选择。

$(document).on("change", ".cboProdc", function(e){ // As you change the select box element
    $("*").removeClass("active");//Remove active class from all elements in the DOM

    $(this).parent().addClass("active");//Add active for  a div container parent

    //Add active for  each input som form active div
    $(".active .txtPrice").addClass("active");
    $(".active .txtDisc").addClass("active");
    $(".active .txtSugDisc").addClass("active");
    $(".active .txtQt").addClass("active");
    $(".active .txtStot").addClass("active");

    //Make your AJAX request to PHP.
    //Send to PHP id product like this $("option:selected", this).val();

        var dt={                   
                  productId: $("option:selected", this).val()
                };

        //Ajax      
         var request =$.ajax({//http://api.jquery.com/jQuery.ajax/
                                url: "yourServer.php",
                                type: "POST",
                                data: dt,
                                dataType: "json"
                            });




//Retrieve all information through JSON and put it in each active element.
//Ajax Done catch JSON from PHP 
            request.done(function(dataset){
                for (var index in dataset){ 
                     txtPrice=dataset[index].Price;
                     txtDisc=dataset[index].Discount;
                     txtSugDisc=dataset[index].SugDisc;
                     txtQt=dataset[index].Quanty;
                     txtStot=dataset[index].Stot;//If you want to use php to perform the calculus
                 }

                 //JavaScript conditions. Here you can control the behaivior of your html object, based on your PHP response and pass values to acvive elements

                    $(".active .txtPrice").val(txtPrice);
                    $(".active .txtDisc").val(txtDisc);
                    $(".active .txtSugDisc").val(txtSugDisc);
                    $(".active .txtQt").val(txtQt);
                    $(".active .txtStot").val(txtStot);

         });//End of request.done(... 

});//End of $(document).on("change",


///////////////////////////////////////////////////////////////////////////////////
//Your php code
//Make your query at database
//Return like this:

        $arrToJSON = array(
        "Price"=>"the price",
        "Discount"=>"the Discount",
        "SugDisc"=>"the SugDisc",
        "Quanty"=>"the Quanty",
        "txtStot"=>"the txtStot",  
        );  
        return json_encode(array($arrToJSON));
//////////////////////////////////////////////////////////////////////////////////////

要保存所有信息,请为每个元素制作一个 .each() http://api.jquery.com/each/,检索每个信息并使用分隔符发送到 php。例如“*” 在 php 你可以使用 explod http://php.net/manual/en/function.explode.php 这里有一个 fiddle http://jsfiddle.net/hp5kbtce/1/ 来查看如何为每个产品行select 元素