Опция выбрана с использованием ajax и php

У меня есть выпадающий список, как показано ниже

<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>');
        }
    });
});

And the ajaxData.php file where the ajax code take the values

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. Я пробовал php-файл, который взял с ajax, чтобы выбрать вариант, но это не работает. Любая идея?


person Community    schedule 27.01.2017    source источник


Ответы (1)


Я нахожу свою проблему, и решение:

        <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>
person Community    schedule 27.01.2017