2016-12-06 86 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(),'。 我改變了答案 –