2016-10-01 69 views
2

我已經從第一個組合框中設置第一個值現在我需要從第二個組合框發送第二個變量,並在同一個php文件中接收它是阿賈克斯:如何發送數據與依賴下拉列表中的AJAX

$(document).ready(function(){ 
    $(".rutas").change(function(){ 
    var id=$(this).val(); 
    var dataString = 'id='+ id; 
    $.ajax({ 
     type: "POST", 
     url: "asientos.php", 
     data: dataString, 
     cache: false, 
     success: function(html){ 
      $(".asientos").html(html);} 
     }); 
    }); 
}); 
</script> 

這是第一個HTML組合框,這是完全正常:

<select name="rutas" class="rutas" > 
    <option value="">Seleccione Ruta</option>; 
    <?php include 'rutas.php'; ?> 
</select> 

這裏是第二HTML組合框,我想從價值並將其發送到與第一個相同的php文件:

Clase: <select name="clase" class="clase"> 
    <option value="A">Clase Ejecutiva</option>; 
    <option value="B">Clase Media</option>; 
    <option value="C">Clase Economico</option>; 
</select> 

任何幫助將不勝感激,謝謝!

回答

1

發送多個值AJAX使用object

var data = {field1: "value1", field2: "value2"}; 

在你的情況,你應該使用form

<form id="myForm"> 
<select id="select1"></select> 
<select id="select2"></select> 
</form> 

JavaScript代碼。

$(document).ready(function(){ 
    $('#myForm').submit(function(event){ 
    event.preventDefault(); 
    var data = {field1: $("#select1").val(), field2: $("#select2").val()}; 

    //Ajax code should be here 
    $.ajax({ 
     type: "POST", 
     url: "asientos.php", 
     data: data, 
     cache: false, 
     success: function(html){ 
      $(".asientos").html(html);} 
     }); 
    }); 
    }); 
}); 

編輯:按照意見

function ajaxCall(url, data){ 

    //Ajax code should be here 
    $.ajax({ 
     type: "POST", 
     url: url, 
     data: data, 
     cache: false, 
     success: function(html){ 
      $(".asientos").html(html);} 
     }); 
    }); 
} 

在每個選擇變化的方法,你可以調用這個函數AJAX和填充你的下拉。

$(".rutas").change(function(){ 
    ajaxCall('demo.php', '10'); 
}); 
+0

那麼我需要在代碼中更改什麼? –

+0

我已經更新了我的答案,並向您展示瞭如何使用表單提交多個數據。 –

+0

您是否檢查並理解我寫的內容? –