2013-01-11 4 views
0

J'ai deux listes de sélection dans mon HTML et les deux ont les valeurs enregistrées dans la base de données, je veux savoir comment changer les valeurs dans selectlist 2 quand select 1 est changé par l'utilisateur en utilisant jquery? J'essaie de faire ces choses dans codeigniter, alors aidez-moi, j'ai fait ces choses en utilisant jquery auparavant mais c'était en php simple en passant les valeurs à la fonction load de jquery, mais cela ne fonctionne pas dans CodeIgniter, quelqu'un s'il vous plaît aidez-moicomment changer une option de liste de sélection quand une autre liste de sélection a changé?

Merci,

Shah Rukh

+1

Postez votre exemple de code dans http://jsfiddle.net/ – Nandu

Répondre

2

Dites par exemple, vous avez cette liste déroulante

<select id="select_1"> 
     <option value="">Select</option> 
     <option value="1">1</option> 
     <option value="2">2</option> 
    </select> 

    <select id="select_2"> 
     <option value="">Select</option> 
    </select> 

Le changement de select_1 menu déroulant, vous devriez obtenir la valeur et faire une demande AJAX à votre fonction de contrôleur qui vous ramènera les options pour select_2 que remplacer simplement le code html de select_2 avec la réponse retournée du scénario

   $('#select_1').change(function(){ 
        var id = $(this).val(); 
        $.ajax({ 
          type: "POST", 
          url: base_url+'controller/action/', 
          data: 'id='+id, 
          success: function(html){ 
           $('#select_2').html(html); 
          } 
         }); 
       }); 

Pour codeignitor utilise la base_url dans le paramètre url de la requête ajax. Vous pouvez définir une variable CDATA pour base_url que vous pouvez utiliser dans vos requêtes ajax, vous pouvez le définir dans votre fichier header.php.

   <script type="text/javascript"> 
        //<![CDATA[ 
         base_url = '<?php echo base_url();?>'; 
        //]]> 
       </script> 
+0

dois-je placer le fichier php dans le contrôleur? En fait je suis nouveau à codeigniter pour que –

+0

Codeignitor a une structure MVC. Vous pouvez définir un contrôleur et ensuite définir une fonction à l'intérieur de ce contrôleur et simplement utiliser l'URL comme je l'utilise dans la requête Ajax –

+0

Vous devriez mieux lire le Codeignitor [Documentation] (http://ellislab.com/codeigniter/user-guide /index.html) –

0

D'accord, je l'ai fait, en utilisant jQuery

<script type="text/javascript"> 
    $(document).ready(function() 
    { 
    $("#slect_1").change(function() 
     { 
     id = $("#select_1").val(); 
     $("#select_2").load("<?php echo site_url('class/method'); ?>/"+id); 
    }); 
     }); 
    </script> 

Merci,

Shah Rukh

Questions connexes