2017-07-30 173 views
1

我有这段html代码,说Cliente的部分是用一个简单的mysql查询填充的;我想要做的是,当您在Cliente中选择一个选项时,它会自动显示链接到数据库中的客户的第二个列表中的选项。不能将ajax变量传递给php

<div class="form-group"> 
    <label class="col-md-4 control-label" for="selectbasic">Cliente</label> 
    <div class="col-md-4"> 
    <select id="cliented" name="cliented" class="form-control"> 
     <?php foreach ($dcli3 as $key) { ?> 
     <option value="<?php echo $key['id'] ?>"><?php echo $key['nombre'] . ' ' . $key['apellido'] ?></option> 
     <?php } ?> 
    </select> 
    </div> 
</div> 

<div class="form-group"> 
    <label class="col-md-4 control-label" for="selectbasic">Cuenta</label> 
    <div class="col-md-4"> 
    <select id="cuentad" name="cuentad" class="form-control"> 
     <?php foreach ($dcu as $key) { ?> 
     <option value="<?php echo $key['numero'] ?>"><?php echo $key['numero'] ?></option> 
     <?php } ?> 
    </select> 
    </div> 
</div> 

要在第一个列表我这个做得到所选择的选项JS代码:

$(document).ready(function() { 
    $('select[name="cliented"]').change(function(){ 
     var cliented = $(this).val(); 
     $.ajax({ 
       type: 'POST', 
       url: 'cons.php', 
       data: cliented, 
       dataType: 'json', 
     }); 
    }); 
}); 

一切都很好,直到这一点,即使我使用alert(cliented);它显示我对应于所选客户端的ID。 问题是,当我作出这样的查询:

if (isset($_POST['cliented'])) { 
$cliente = $_POST['cliented']; 
$cu = "SELECT * FROM cuenta WHERE idc= '$cliente'"; 
$dcu = $conn->query($cu); 
} 

的$ cliente变量始终是空的。我错过了什么?

回答

2

你想发送一个键/值对。现在,所有要发送的值

变化:

data: cliented, 

要:

data: {cliented: cliented}, 
+0

我不得不这样说,这之前,没有工作。 –

+0

究竟是什么*“没有工作”*?这不是一个非常具有描述性的陈述 – charlietfl

+0

cons.php文件中的变量$ cliente仍然是空的,hans和kevin的解决方案也没有帮助。也许数据没有达到文件cons.php .... –

0

您需要的值赋给一个关键。

$(document).ready(function() { 
    $('select[name="cliented"]').change(function() { 
     var cliented = $(this).val(); 
     var postData = { 
      cliented: cliented 
     } 
     $.ajax({ 
      type: 'POST', 
      url: 'cons.php', 
      data: postData, 
      dataType: 'json', 
     }); 
     return false; 
    }); 
}); 
0
$(document).ready(function() { 
$('select[name="cliented"]').change(function(){ 
    var cliented = $(this).val(); 

    DATA = 'cliented=' + cliented; 

    $.ajax({ 
      type: 'POST', 
      url: 'cons.php', 
      data: cliented, 
      dataType: 'json', 
       success:function() 
       { 

       } 
    }); 
}); 
}); 
0

你是不是与阿贾克斯设置变量名。

变化:

data: cliented, 
to: 
data:'cliented='+cliented