0

I have some dropdown select as below

<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>

The below dropdown filled when i select department using ajax

    <div class="dega" style="display: inline;">
        <select name="dega" id="dega" class="drp" style="width:19%;">
            <option value="">Choose Sector </option>
        </select>
    </div>

to be filled need the follows : 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>';
    }
}

Everything works fine except something.When i post the button all my dropdown are selected because i use selected='selected' EXCEPT the second dropdown choose sector and that because i have used ajax.I have tried on php file that took with ajax to make the option selected but it does not works.Any idea?

aynber
  • 22,380
  • 8
  • 50
  • 63

1 Answers1

0

i find my problem and the solution is :

        <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>