从数据库中检索选定的下拉值回显值

时间:2018-09-19 01:30:37

标签: javascript php jquery ajax

从数据库中检索选定的下拉值,然后回显该值,并且未使用ajax触发第二个下拉值。我有创建活动的表格。创建新活动时,用于程序和类别的下拉ajax运行良好。但是一旦我尝试显示我创建的活动(即编辑表单)并检索所有值,那么ajax程序和类别将无法正常工作

这是我的两个下拉程序,而这两个程序是依赖的。

这里是按钮

<li><a style="text-align:left" class="btn waves-effect waves-light" data-toggle="modal" data-target="#<?php echo $rowss['id']; ?>">Edits</a></li>

这里是模态

<div class="modal fade" id="<?php echo $rows["id"]; ?>" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="form-group">
                <label for="programs" class="col-sm-3 control-label">Program</label>
                <div class="col-sm-9">
                <select name="programs" class="programs form-control" id="programs" onchange="get_category(this);">

                <?php 
                foreach($programs as $row)
                {
                if($row['tcp_id']==$eveprrm['tcp_id'])
                {
                ?>
                    <option value="<?php echo $row['tcp_id']; ?>" selected><?php echo $row['tcp_name']; ?></option>
                    <?php 
                    } else {
                    ?>
                    <option value="<?php echo $row['tcp_id']; ?>"><?php echo $row['tcp_name']; ?></option>
                    <?php 
                        }
                    }
                    ?>
                </select>
                </div>
            </div>

            <div class="form-group">
                <label for="categorys" class="col-sm-3 control-label">Category</label>
                <div class="col-sm-9">
                    <select name="categorys" class="form-control" id="categorys">
                    </select>
                </div>
            </div>
        </div>
    </div>
</div>

当我获取并回显程序的选项值时,类别下拉列表未触发Ajax的javascript。以下是我的Ajax脚本。

<script>
    function get_category(sel)
{
    var tcp_id = sel.options[sel.selectedIndex].value; 
    if(tcp_id){
    $.ajax({
    type:'POST',
    url:'fetch_data.php',
    data:'tcp_id='+tcp_id,
    cache: false,

    success:function(html)
    {
        $('#categorys').html(html);

    }
    }); 
    }
    else
    {
        $('#categorys').html('<option value="">Select category first</option>');\
    }
}
</script>

这是我的fetch_data.php代码

if(isset($_POST["tcp_id"]) && !empty($_POST["tcp_id"]))
{
    $progs = $bdd->prepare("SELECT * FROM category_new WHERE tca_program_id = ".$_POST['tcp_id']);
    $progs->execute();
    $rows = $progs->fetchAll();

    echo '<option value="">Select category first</option>';
    foreach($rows as $row)
    { 
        echo '<option value="'.$row['tca_id'].'">'.$row['tca_name'].'</option>';
    }

}

0 个答案:

没有答案