【问题标题】:How to send data in ajax with dependent drop-down如何使用依赖下拉列表在ajax中发送数据
【发布时间】:2016-10-01 17:11:45
【问题描述】:

我已经从第一个组合框设置了第一个值,现在我需要从第二个组合框发送第二个变量并在同一个 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>

这是我想从中获取值并将其发送到与第一个相同的 php 文件的第二个 html 组合框:

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>

任何帮助将不胜感激,谢谢!

【问题讨论】:

    标签: javascript php jquery html ajax


    【解决方案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);}  
             }); 
         }); 
       });
    });
    

    编辑:根据 cmets

    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');
    });
    

    【讨论】:

    • 我已经更新了我的答案,并向您展示了如何使用表单提交多个数据。
    • 你检查并理解我写的内容了吗?
    • 我有一个包含其他组件的表单,我需要为组合设置 onchange 事件
    • 太好了,您也可以在此答案中看到示例。 stackoverflow.com/a/39808999/6608101
    • 当我点击第一个组合时,它会填充第二个组合,当我点击第二个组合时,它会使用第一个组合中的值和第二个组合中的值填充第三个组合,因为我正在从中检索数据组合每次更改的数据库。
    猜你喜欢
    • 1970-01-01
    • 2015-02-23
    • 2021-03-30
    • 1970-01-01
    • 2015-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多