使用ajax和php选择的选项

时间:2017-01-27 10:11:16

标签: php ajax select option selected

我有一些下拉选择如下

<div class="dep" style="display: inline;">
        <select name="dep" id="dep" class="drp" style="width:19%;">
            <option value="">Choose departament</option>
            <?php
            if($rowCount > 0){
                while($row = $query->fetch_assoc()){ 
                    $selected = "";
                    if(isset($_POST['dep'])){
                        if ($_POST['dep'] == $row['D_id']) {
                            $selected = "selected='selected'";
                        }
                    }
                    echo '<option value="'.$row["D_id"].'" '.$selected.' >'.$row['Emri'].'</option>';              

                }
            }else{
                echo '<option value="">No Departaments</option>';
            }
            ?>
        </select>
    </div>

当我使用ajax

选择部门时,下面的下拉列表已填满
    <div class="dega" style="display: inline;">
        <select name="dega" id="dega" class="drp" style="width:19%;">
            <option value="">Choose Sector </option>
        </select>
    </div>

需要填写如下: AJAX:

<script type="text/javascript">
$(document).ready(function(){
    $('#dep').on('change',function(){
        var dep_id = $(this).val();
        if(dep_id){
            $.ajax({
                type:'POST',
                url:'ajaxData.php',
                data:'D_id='+dep_id,
                success:function(html){
                $('#dega').html(html);
                }
            }); 
        }else{
            $('#dega').html('<option value="">choose departament</option>');
        }
    });
});

ajaxData.php文件,其中ajax代码取值

include('dbConfig.php');



if(isset($_POST["D_id"]) && !empty($_POST["D_id"])){
    $query = $db->query("SELECT * FROM deget WHERE D_id = ".$_POST['D_id']."");

    $rowCount = $query->num_rows;

    if($rowCount > 0){
        echo '<option value="">Choose sector</option>';
        while($row = $query->fetch_assoc()){ 
            $sel = "";
            if (isset($_POST['dega'])) {
                if ($_POST['dega'] == $row['Dg_id']) {
                    $sel = "selected='selected'";
                }
            }
            echo '<option value="'.$row['Dg_id'].'" '.$sel.'>'.$row['Emri'].'</option>';
        }
    }else{
        echo '<option value="">No sectors revalent to department</option>';
    }
}

一切正常,除了某些东西。当我发布按钮时,所有我的下拉列表都被选中,因为我使用selected='selected'除了第二个下拉选择扇区,因为我已经使用了ajax.I已经尝试过使用的php文件ajax选择了选项,但它不起作用。任何想法?

1 个答案:

答案 0 :(得分:0)

我发现我的问题,解决方案是:

        <div class="dega" style="display: inline;">
        <select name="dega" id="dega" class="drp" style="width:19%;">
            <?php if(isset($_POST['kot'])){
                //Include database configuration file
                    include('dbConfig.php');


                        //Merr te dhenat e degeve perkatese te departamentit te selektuar
                        $query = $db->query("SELECT * FROM deget WHERE D_id = ".$_POST['dep']."");

                        //Rreshtat e querit
                        $rowCount = $query->num_rows;

                        //Mbush dropdown e degeve 
                        if($rowCount > 0){
                            echo '<option value="">Zgjidh Degen</option>';
                            while($row = $query->fetch_assoc()){ 
                                $sel = "";
                                if($_POST['dega'] == $row['Dg_id']){
                                    $sel = "selected='selected'";
                                }

                                echo '<option value="'.$row['Dg_id'].'" '.$sel.'>'.$row['Emri'].'</option>';
                            }
                        }else{
                            echo '<option value="">Nuk ka dege perkatese</option>';
                        }



                }else{?>
            <option value="">Selekto Degen </option>
            <?php }?>
        </select>
    </div>