2016-12-06 89 views
0

我有一个表格,有一个复选框和选择选项的列表。这基本上是一个订单。当客户点击复选框时,我希望选择选项的值以及复选框的值与表单一起发送。结合复选框值与选择选项值的形式

我真的不知道AJAX。我正在使用我发现的一个脚本来获取所有数据到一个php文件。我需要添加到jquery中,使所有选中项目的选项和复选框值组合为一个变量?

<table> 
    <tr> 
     <td> 
      <select class="qty" name="qty" id="qty"> 
      <option value="1">1</option> 
      </select> 
     </td> 
    </tr> 
    <tr> 
     <td>  
     <input id="Part1_1" name="Part[]" type="checkbox" value="Part 1"> 
     </td> 
    </tr> 
    <tr> 
     <td> 
      <select class="qty" name="qty" id="qty1"> 
      <option value="1">1</option> 
      <option value="2">2</option> 
      </select> 
     </td> 
    </tr> 
    <tr> 
     <td>  
     <input id="Part1_2" name="Part[]" type="checkbox" value="Part 2"> 
     </td> 
    </tr> 
</table> 

<script> 
    $(document).ready(function(){ 
    $("#contact-form").on("submit",function(e){ 
     e.preventDefault(); 
      var sendData = $(this).serialize(); 
      $.ajax({ 
       type: "POST", 
       url: "orderform.php", 
       data: sendData, 
       success: function(data){ 
        $(".response_msg").text(data); 
        $(".response_msg").slideDown();      
       }   
      }); 

    }); 
    }); 
    </script> 

编辑: 我想沿着传递给PHP可变对于每个部分。因此,如果选中第一部分,则复选框的值和数量值将被组合在一起。

回答

0

您可以使用FormData对象,它允许您附加ComboBox和Select列表的值,并将其发送到ajax请求中。

入住这FormData

0

你需要这样添加select值。你还应该在服务器上的方法中添加新的参数。在这个例子中,我将它命名为select_param

$(document).ready(function() { 
    $("#contact-form").on("submit", function(e) { 
     e.preventDefault(); 
     var sendData = $(this).serialize(); 
     $.ajax({ 
      type: "POST", 
      url: "orderform.php", 
      data: sendData + "&select_param1=" + $("#qty option:selected").text() + 
          "&select_param2=" + $("#qty1 option:selected").text(), 
      success: function(data) { 
       $(".response_msg").text(data); 
       $(".response_msg").slideDown(); 
      } 
     }); 

    }); 
}); 
+0

要获得php中的select_param信息,我会使用:$ _POST ['select_param']?该参数如何将第1部分的数量与第1部分进行分组,如果选择第2部分,那么第2部分的数量将与该数量分组?我更新了我的问题以表明我的意思。 – N13Design

+0

你可以通过jQuery获取值。要添加更多参数,只需添加所需的参数。 –

+0

在这种新的情况下,您评论的是:'data:sendData +“&select_param1 =”+ $(“#qty option:selected”)。text()+“&select_param2 =”+ $(“#qty1 option:selected”)的.text(),'。 我改变了答案 –