繁体   English   中英

使用AJAX将两个下拉列表的选定值发送到PHP脚本而不提交

[英]Send selected value of two dropdown to PHP script without Submit using AJAX

我有两个下拉列表,我想知道在这些下拉列表中选择了哪个用户,因为我需要使用PHP从数据库中获取数据。 请注意,没有提交按钮。 我不知道如何将javascript var值发送到PHP代码。

这是我到目前为止所做的

 <head>

<script src="http://code.jquery.com/jquery-latest.min.js"></script>

<script>

    $(document).ready(function(){   
        $('select.day').on('change',function(){     
        var select = $(this).val();         
        alert(select);          

        });

        $.ajax({

            Type : "POST",              
            url : "new.php",
            data : {name : select},     
            success : function(msg)
            {
                $('#d').text(msg);      
                alert(msg);
            }   
        }); 
    });

</script>
</head>
   <body>
<p id="d"></p>
<Select class="day" onchange="getTimeFrame(this.value)">
        <Option >Today</Option>
        <Option>This Week</Option>
    <Option>Last Week</Option> 
    </Select>

    <Select class="filter" onchange="getFilterType(this.value)">
        <Option >User</Option>
        <Option>Client</Option>
    <Option>Project</Option>
    </Select>
</body>
</html>

这是PHP文件

<?php

    // $time = $_POST['select'];         
     $filter = $_POST['name'];     
     //echo "Hello from new";      
     echo $filter;

?>

但是似乎没有什么对我有用。 有人知道如何实现这一目标吗?

在select的onchange事件中添加您的Ajax代码。

更新

拼写错误更改type而不是Type ,不是大写。全部为小写字母。JavaScript区分大小写

$('select.day').on('change', function() {
    var select = $(this).val();
  $.ajax({
    type: "POST",
    url: "new.php",
    data: {
      name: select
    },
    success: function(msg) {
      $('#d').text(msg);
      alert(msg);
    }
  });
  })

像这样更改HTML

<Select class="day">
        <Option >Today</Option>
        <Option>This Week</Option>
    <Option>Last Week</Option> 
    </Select>

对于发送两个下拉值,请尝试此

 $('select.day').on('change', function() { var select = $('select.day').map(function(){ return $(this).val() }).get(); console.log(select) $.ajax({ type: "POST", url: "new.php", data: { name: select }, success: function(msg) { $('#d').text(msg); alert(msg); } }); }) 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <Select class="day" > <Option >Today</Option> <Option>This Week</Option> <Option>Last Week</Option> </Select> <Select class="day filter" > <Option >User</Option> <Option>Client</Option> <Option>Project</Option> </Select> 

在您的onchange事件中,您只能使用select = $(this)...更改后的选择框的值。 您还必须使用Name = $(“。filter”).....引用另一个,然后使用ajax发送它

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM