我有这个html代码,上面说Cliente是用一个简单的mysql查询填充的;我想做的是,当你在Cliente中选择一个选项时,它会自动显示第二个列表中链接到数据库中Cliente的选项。

<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变量始终为空。我错过了什么?

最佳答案

要发送密钥/值对。现在你所发送的只是价值
更改:

 data: cliented,

致:
 data: {cliented: cliented},

10-02 19:51