从数据库中检索值并在文本框中显示使用ajax中的下拉列表选择的相应值

时间:2017-08-29 09:13:32

标签: php html ajax

我有一个下拉列表,其中列出了从数据库中提取的值

echo "<select name='training_name' id='training_name' value='' class='form-control' onchange='tr_name()' required><option value=''>Select</option>";
while($r = mysql_fetch_array($result)) {
    $dt=date("Y-m-d",strtotime($r['date']));?>
<option value="<?php echo $r['nomination_form_trainer_id'];?>" ><?php echo $r['training_title']."(".$dt.")";?></option>; 
<?php }?>
<?php echo "</select>";

我的输入类型为文本框

 <input type="text" class="form-control txtOnly" id="trainer_name" name="trainer_name" value="" required/>

我的ajax代码如下

<script type="text/javascript">
    function tr_name()
    {

        var tname= $('#training_name').val();
         var dataString = 'tname=' + tname;
         $.ajax({
        type: "POST",
        url: "training_name.php",
        data: dataString,
        success: function(result){ 
             $("#trainer_name").html(result);
        }
    });

    }
</script>

这是我的training_name.php的php代码

<?php require_once 'includes/config.php';

$training_name = $_POST["training_name"];
mysql_select_db("ptlct_training");

    //here, you should test whether employee_detail matches what you expect
    //here, split $employee_detail into $first_name, $last_name and $company_name
    //now you are ready to send the MYSQL query:
    $sql = 'SELECT initiator_name FROM nomination_form_trainer WHERE nomination_form_trainer_id=2';
    $result = mysql_query($sql);
    //since you expect a single matching result, you can test for num_rows == 1:
        while ($row =mysql_fetch_array($result)) {
            $trainer_name = $row['initiator_name'];
        }
    echo $trainer_name;
    ?>

我正在尝试获取我刚接触ajax的值,所以我无法找到我的错误。有人请尽快帮助我。谢谢提前

2 个答案:

答案 0 :(得分:0)

var dataString = '&tname=' + tname;

检查param是否通过php传递.....!

答案 1 :(得分:0)

我自己找到了答案

<script type="text/javascript">
   $("#training_name").change(function(){
    {
        var tname = $('#training_name').val();
         var dataString = 'tname=' + tname;
         $.ajax({
        type: "POST",
        url: "training_name.php",
        data: dataString,
        success: function(result){ 
             $("#trainer_name").val(result);
        }
    });

    }
   });

</script>

我在函数内声明了变量,这就是参数没有正确传递的原因