2017-01-27 18 views
0

У меня есть выпадающий список выбора, как показано нижеВариант выбирается с помощью 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> 

для заполнения нуждаться в следующем: Аякса:

<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 где код Аякса принимает значения

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

Все отлично работает, кроме something.When я отправляю кнопку все мое ниспадающее меню выбраны потому, что я использую selected='selected' КРОМЕ второго выпадающего списка выбрать сектор и потому что я использовал ajax.I пробовал файл php, который взял с ajax, чтобы сделать выбор, но он не работает. Любая идея?

ответ

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>