2013-07-08 26 views
1

我需要在健身房中設置四項運動選項,所以我必須使用四個下拉菜單,我要從數據庫中檢索數據列表,它是一個數組drom數據庫,包含30個學科,當我在第一個下拉列表中選擇第一個下拉列表時,第二個下拉列表中沒有包含這個值,並且當我從第三個下拉列表中選擇一個值時,此下拉列表中的值不會包含value1和value2從dropdown1和dropdown2,約下拉四個同樣的事情,它必須從containe數據庫只有27值codeigniter下拉順序,在第一個下拉菜單上選擇的值第二個

我的模型:participantsport_m.php:

public function get_new() 

{ 

$participant_sport = new stdClass(); 

$participant_sport->nom = ''; 
$participant_sport->prenom = ''; 
$participant_sport->trimestres = ''; 
$participant_sport->sport_ordre1 = ''; 
$participant_sport->sport_ordre2 = ''; 
$participant_sport->sport_ordre3 = ''; 
$participant_sport->sport_ordre4 = ''; 
$participant_sport->sport_montant_paye = ''; 
$participant_sport->sport_debut_periode = ''; 
$participant_sport->sport_fin_periode = ''; 
    return $participant_sport; 
} 


    function get_discipline_sport() { 
      $this ->db->select('id, nom_discipline'); 
      $query = $this ->db->get('disciplines_sport'); 

      $salles = array(); 

      if ($query->result()) { 
        foreach ($query->result() as $discipline) { 
         $disciplines[$discipline->id] = $discipline->nom_discipline; 
        } 
        return $disciplines; 
      } else { 
        return FALSE; 
      } 
    } 

數據庫的結構: ID - nom_discipline - tarif_discipline - 描述

我控制器agent.php:

 public function inscriresport ($id = NULL) 
     { 

      // Fetch a participant or set a new one 
      if ($id) { 
       $this->data['participant_sport'] = $this->participantsport_m->get($id); 
       count($this->data['participant_sport']) || $this->data['errors'][] = 'Agent non trouvé'; 

      // explode to array 
      // print_r($this->data['participant_sport']['trimestres[]']); // test before explode 

       $this->data['participant_sport']->trimestres = explode(",", $this->data['participant_sport']->trimestres); 

      // print_r($this->data['participant_sport']['trimestres[]']); // test after explode 
      } 
      else { 
       $this->data['participant_sport'] = $this->participantsport_m->get_new(); 
      } 

      // Set up the form 
      $rules = $this->participantsport_m->rules_participantsport; 
      $this->form_validation->set_rules($rules); 

      // Process the form 

      if ($this->form_validation->run() == TRUE) { 
       $data = $this->participantsport_m->array_from_post(array('nom', 'prenom', 'beneficiaire', 'trimestres' , 'sport_ordre1', 'sport_ordre2', 'sport_ordre3', 'sport_ordre3', ,'sport_montant_paye', 'sport_debut_periode', 'sport_fin_periode')); 
       $this->participantsport_m->save($data, $id); 
       redirect('admin/agent/profile/3608'); 
      } 

      // Load the view 
      $this->data['subview'] = 'admin/agent/inscriresport'; 
      $this->load->view('admin/_layout_main', $this->data); 
     } 

而且我認爲inscriresport.php:

    <div class="widget-box"> 
         <div class="widget-title"> 
          <span class="icon"> 
           <i class="icon-align-justify"></i>         
          </span> 
          <h5><?php echo empty($participant->id) ? 'Nouveau Agent OCP:' : 'Modification de: ' . $participant_sport->nom.' '.$participant_sport->prenom; ?></h5> 
         </div> 

         <div class="widget-content nopadding"> 

          <?php echo form_open(); ?> 



        <div <?php if(form_error('nom')) { echo 'class="control-group error"'; } else {echo 'class="control-group"';} ?>> 
        <label class="control-label">Nom :</label> 
        <div class="controls"> 
         <?php echo form_input('nom', set_value('nom', $this->input->get('nom'))); ?> 
         <span class="help-inline"><?php echo form_error('nom'); ?></span> 
        </div> 
        </div> 


        <div <?php if(form_error('prenom')) { echo 'class="control-group error"'; } else {echo 'class="control-group"';} ?>> 
        <label class="control-label">Prenom :</label> 
        <div class="controls"> 
         <?php echo form_input('prenom', set_value('prenom', $this->input->get('prenom'))); ?> 
         <span class="help-inline"><?php echo form_error('prenom'); ?></span> 
        </div> 
        </div> 




         <div <?php if(form_error('beneficiaire')) { echo 'class="control-group error"'; } else {echo 'class="control-group"';} ?>> 
          <label class="control-label">Bénéficiaire :</label> 
          <div class="controls"> 

                <label><?php echo form_radio('beneficiaire', 'Agent', $this->input->get('beneficiaire') == 'Agent') ?> Agent </label> 

                <label><?php echo form_radio('beneficiaire', 'Conjoint', $this->input->get('beneficiaire') == 'Conjoint') ?> Conjoint </label> 

                <label><?php echo form_radio('beneficiaire', 'Enfant', $this->input->get('beneficiaire') == 'Enfant') ?> Enfant </label> 
                <span class="help-inline"><?php echo form_error('beneficiaire'); ?></span> 
          </div> 
         </div> 




       <div <?php if(form_error('trimestres[]')) { echo 'class="control-group error"'; } else {echo 'class="control-group"';} ?> > 
         <label class="control-label">Trimestres :</label> 
         <div class="controls" > 

         <?php $options = array(
              'trim1' => ' Premier trimestre (Janv,Fév,Mars)', 
              'trim2' => ' Deuxiéme trimestre (Avril,Mai,Juin)', 
              'trim3' => ' Troisiéme trimestre (Juill,Aout,Sept)', 
              'trim4' => ' Quatriéme trimestre (Oct,Nov,Déc)', 
             ); 
        echo form_multiselect('trimestres[]', $options , $this->input->post('trimestres') ? $this->input->post('trimestres') : $participant_sport->trimestres, 'id="trim"'); ?> 
         <span class="help-inline"><?php echo form_error('trimestres[]'); ?></span> 
        </div> 
       </div> 


       <div <?php if(form_error('sport_ordre1')) { echo 'class="control-group error"'; } else {echo 'class="control-group"';} ?> > 
         <label class="control-label">Nom de la Salle :</label> 
         <div class="controls"> 
         <?php echo form_dropdown('sport_ordre1', $countries , $this->input->post('sport_ordre1') ? $this->input->post('sport_ordre1') : $participant_salle->sport_ordre1 , 'id="ordre1"'); ?> 
         <span class="help-inline"><?php echo form_error('sport_ordre1'); ?></span> 
        </div> 
       </div> 

       <div <?php if(form_error('sport_ordre2')) { echo 'class="control-group error"'; } else {echo 'class="control-group"';} ?> > 
         <label class="control-label">Nom de la Salle :</label> 
         <div class="controls"> 
         <?php echo form_dropdown('sport_ordre2', $countries , $this->input->post('sport_ordre2') ? $this->input->post('sport_ordre2') : $participant_salle->sport_ordre2 , 'id="ordre2"'); ?> 
         <span class="help-inline"><?php echo form_error('sport_ordre2'); ?></span> 
        </div> 
       </div> 

       <div <?php if(form_error('sport_ordre3')) { echo 'class="control-group error"'; } else {echo 'class="control-group"';} ?> > 
         <label class="control-label">Nom de la Salle :</label> 
         <div class="controls"> 
         <?php echo form_dropdown('sport_ordre3', $countries , $this->input->post('sport_ordre3') ? $this->input->post('sport_ordre3') : $participant_salle->sport_ordre3 , 'id="ordre3"'); ?> 
         <span class="help-inline"><?php echo form_error('sport_ordre3'); ?></span> 
        </div> 
       </div> 

       <div <?php if(form_error('sport_ordre4')) { echo 'class="control-group error"'; } else {echo 'class="control-group"';} ?> > 
         <label class="control-label">Nom de la Salle :</label> 
         <div class="controls"> 
         <?php echo form_dropdown('sport_ordre4', $countries , $this->input->post('sport_ordre4') ? $this->input->post('sport_ordre4') : $participant_salle->sport_ordre4 , 'id="ordre4"'); ?> 
         <span class="help-inline"><?php echo form_error('sport_ordre4'); ?></span> 
        </div> 
       </div> 




         <div <?php if(form_error('sport_montant_paye')) { echo 'class="control-group error"'; } else {echo 'class="control-group"';} ?>> 
          <label class="control-label">Montant à payé :</label> 
          <div class="controls"> 
          <?php echo form_input('sport_montant_paye', set_value('sport_montant_paye', $participant_sport->sport_montant_paye)); ?> 
          <span class="help-inline"><?php echo form_error('sport_montant_paye'); ?></span> 
          </div> 
         </div> 






         <div <?php if(form_error('sport_debut_periode')) { echo 'class="control-group error"'; } else {echo 'class="control-group"';} ?>> 
          <label class="control-label">Debut période :</label> 
          <div class="controls"> 
          <input type="text" name="sport_debut_periode" id="date3" value="<?php echo set_value('sport_debut_periode', $participant_sport->sport_debut_periode) ?>" /> 
          <span class="help-inline"><?php echo form_error('sport_debut_periode'); ?></span> 
          </div> 
         </div> 




         <div <?php if(form_error('sport_fin_periode')) { echo 'class="control-group error"'; } else {echo 'class="control-group"';} ?>> 
          <label class="control-label">Fin période :</label> 
          <div class="controls"> 
          <input type="text" name="sport_fin_periode" id="date4" value="<?php echo set_value('sport_fin_periode', $participant_sport->sport_fin_periode) ?>" /> 
          <span class="help-inline"><?php echo form_error('sport_fin_periode'); ?></span> 
          </div> 
         </div> 






           <div class="form-actions"> 
            <?php echo form_submit('submit', 'Enregistrer', 'class="btn btn-success"'); ?> 
           </div> 
          <?php echo form_close();?> 

         </div> 
        </div> 

       </br> 

我需要怎麼能我這樣做的JavaScript我是新手在JavaScript,我不知道我在哪裏開始,任何幫助plsease?非常感謝。

回答

0

我建議在所有下拉列表中包含所有運動項目,當您想要提交表格時,請檢查是否有相同的有價值的下拉框。你可以讓他們有:

var flag = false; 

var e1 = document.getElementById("dropdown1 id"); 
var value1 = e1.options[e1.selectedIndex].value; 

var e2 = document.getElementById("dropdown2 id"); 
var value2 = e2.options[e2.selectedIndex].value; 

... 

if(value1 != value2 && ...) 
{ 
    flag = true; 
} 

if(flag) 
{ 
    // Stuff 
} 
+0

但如何從數據庫中檢索體育(體育數組)進入視野?我想這將與JavaScript,我是新的 –

+0

當你在你的控制器中加載你的視圖,你可以傳遞一系列體育形式的額外數據'load-> view('view',$ data);'。您可以在視圖中迭代和回顯該數組以填充下拉列表。 – MahanGM

相關問題