如何使用ajax将选择值发送到php?

时间:2016-08-22 21:16:59

标签: javascript php jquery ajax codeigniter

我试图使用ajax从select标签中传递所选项目的值: 这是选择标签(它不是一种形式):

                 <select class="select" id="select" >
                 </select>

这里是使用php填充数据库选择的代码:

  $(document).ready(function(){ 
   <?php foreach ($espace_ids as $row ) {?>

   $('#select').append('<option value="<?php echo $row['espace_id']; ?>"><? php echo $row['nom']; ?></option>'); 

   <?php }?>  });

用于将数据从实际页面发送到dashbored.php,这里是代码:

   $("#select").change(function() {
        $.ajax({
            type: 'post',
            url: "<?php //echo base_url(); ?>index.php?directeur/dashboard ?>",
            data: espace_id: $("#select").val(),
            success: function( data ) {
                alert( data );
            }

        });

我检索发送的值:

$espace_id=$_POST['espace_id'];

它显示的问题:对dashboard.php中espace_id的未定义引用。 好吧,目的是根据用户选择的espace从数据库加载espace信息。用户选择一个选项时,我应该加载与所选espace相关的适当信息。 我希望你能帮助我。 感谢

2 个答案:

答案 0 :(得分:0)

您可以使用以下示例在index.php中获取espace ID。

$(document).ready(function () 
{
    $('#select').on('change', function () 
    {
        if ($('#select').val() === null) {              
            alert("Error");
        }
        else
        {
            var selectedValue = $('#select').val();

            $.ajax
            ({
                url: 'index.php',
                type: 'POST',
                data: 'espace_id=' + selectedValue,
                success: function(response) 
                {
                    alert(response);
                }
            });
        }
    });
});
index.php上的

if(isset($_POST['espace_id']) && !empty($_POST['espace_id']))
{
  // do whatever you want to do here!!
}

答案 1 :(得分:0)

对于那些想要比Jquery更轻的人,你可以这样做:

<select onchange="livesearch(this.value)"><option></option></select>
<script> 
function livesearch(id){ 
xmlhttp = new XMLHttpRequest(); xmlhttp.open("GET","url?id="+id, false); xmlhttp.send(null); document.getElementById("searchresults").value=xmlhttp.responseText; } 
</script>