Besoin d'aide ?

Faire un choix dans un select et le suivant ce remplie automatiquement

  • Avatar de easyd
    Membre depuis :
    08/05/2017
    Messages :
    11

    Bonjour tous le monde,

    J'ai une petite question je cherche via un formulaire a remplir automatique.

    Exemple :

    Je choisie le pays, puis la ville, cela remplie en automatique le code postal, puis la region et le département. Attention en fonction de pays comme la france ou le belgique.

    Voilà mon code :

    <div class="down-part down2 pdng25">
    <div id="collapse222" style="display:none">
    <p>
    <h3 class="head-form">Localisation</h3>
    <form class="form-class" id="religious_info">
    <div class="row">
    <div class="col-lg-6">
    <Select class="field other_star test_class" name="city" id="city">
    <option value="">Pays</option>
    <?php
    foreach($get_country as $getcountry){
    ?>
    <option value="<?php echo $getcountry->country_id; ?>"><?php echo $getcountry->country; ?></option>
    <?php
    } ?>
    </select>
    </div>

    <div class="col-lg-6">
    <Select class="field other_star test_class" name="city" id="city">
    <option value="">Ville</option>
    <?php
    foreach($get_villes as $getvilles){
    ?>
    <option value="<?php echo $getvilles->villes_id; ?>"><?php echo $getvilles->villes; ?></option>
    <?php
    } ?>
    </select>
    </div>
    <div class="col-lg-6">
    <Select class="field other_star test_class" name="zip" id="zip">
    <option value="">Code postal</option>
    <?php
    foreach($get_villes as $getvilles){
    ?>
    <option value="<?php echo $getvilles->villes_id; ?>"><?php echo $getvilles->ville_code_postal; ?></option>
    <?php
    } ?>
    </select>
    </div>
    <div class="col-lg-6">
    <Select class="field other_star test_class" name="regions" id="regions">
    <option value="">Région</option>
    <?php
    foreach($get_regions as $getregions){
    ?>
    <option value="<?php echo $getregions->ID; ?>"><?php echo $getregions->url; ?></option>
    <?php
    }
    ?>
    </select>
    </div>
    <div class="col-lg-6">
    <Select class="field other_star test_class" name="department" id="department">
    <option value="">Département</option>
    <?php
    foreach($get_department as $getdepartment){
    ?>
    <option value="<?php echo $getdepartment->department_id; ?>"><?php echo $getdepartment->department; ?></option>
    <?php
    }
    ?>
    </select>
    </div>
    </div>
    <div class="row">
    <div class="col-lg-12 align-right">
    <input type="submit" id="locatn" class="submit but_ins" title="3" value="Save">
    </div>
    </div>
    </form>
    </p>
    </div>
    </div>

    Merci de votre aide,

  • Avatar de bestmomo
    Membre depuis :
    07/04/2013
    Messages :
    1461

    Salut,

    Il faut un traitement en Javascript, soit strictement en local si toutes les informations sont présentes, soit avec le serveur.

  • Avatar de easyd
    Membre depuis :
    08/05/2017
    Messages :
    11

    Merci de ta reponse,

    A tu une idée comment faire, ou un exemple qui m'explique comment réaliser cela.

    Merci a toi,

  • Avatar de SeifAllahBa
    Membre depuis :
    04/08/2017
    Messages :
    4

    Bonjour @easyd,
    Tout d'ahbord , Verifie que tu as deux id avec le meme mom, On suppose que l'id de select list des pays est 'pays' et non pas 'city'.
    Ensuite, Tu cree un js script en changeant le select tu fais apl a un url pour recuperer les villes avec l'id de pays en parametres et enfin tu populate la liste des villes avec la pays selectionne


    $("#pays").change(function(){
    $.get('villes/'+paysID)
    .success(function(data) {
    if (data.length > 0) {
    $("#regions").empty();
    $(data).each(function(index, value)
    {
    $("#regions").append("<option value="+data[index].id+">"+data[index].nom_ville+"</option>");
    });

    }
    else {
    // no result
    }
    })
    .error(function(data) {
    alert('Error: ' + data);
    });
    }
  • Avatar de easyd
    Membre depuis :
    08/05/2017
    Messages :
    11

    Bonjour SeifAllahBa,

    Je suis novice sous LARAVEL.
    Pourait tu m'aider STP.

    J'ai bien copier tonb code mais au niveau des select que dois-je faire comprend pas bien.

    Merci a toi

  • Avatar de SeifAllahBa
    Membre depuis :
    04/08/2017
    Messages :
    4

    Rebonjour,
    change ca dans ton fichier ***.blade.php:

    <Select class="field other_star test_class" name="city" id="city">

    par ca
    <Select class="field other_star test_class" name="pays" id="pays">

    => Lorsque tu selecte un pays, le code va faire apl un route (par exemple villes/idpays ) pour recupper la liste des villes de ce pays. Le meme s'applique pour les aures.
    Dans routes/web.php:
    Route::get('villes/{idpays}', 'AddressController@getListCitiesByCountry');

    Dans 'AddressController', la fonction getListCitiesByCountry sera comme ca:

    public function getListCitiesByCountry($idpays) {
    $villes = City::where('countryid', $idpays)->get();
    return $villes;
    }
  • Avatar de easyd
    Membre depuis :
    08/05/2017
    Messages :
    11

    Merci beausoup SeifAllahBa,

    Je vais le faire tous de suite.

    Merci ancors,

  • Avatar de SeifAllahBa
    Membre depuis :
    04/08/2017
    Messages :
    4

    Avec plaisir :)

  • Avatar de easyd
    Membre depuis :
    08/05/2017
    Messages :
    11

    désolé SeifAllahBa,

    Je vient de faire les modifocation mais cela ne donne rien je vais de donnée les étapes de ma modif.

    je suis aller dans mon welcome.blade.php c'est mon fichier

    Ou j'ai modifier tous les select comme cela :

    <input type="hidden" id="search_gender" value="" name="search_gender" >
    <Select class="field other_star test_class" name="country" id="country">
    <option value="">Pays</option>
    <?php
    foreach ($get_country as $country) {
    ?>
    <option><?php echo $country->country;?></option>
    <?php
    }
    ?>
    </select>

    <Select class="field other_star test_class" name="villes" id="villes">
    <option value="">Ville</option>
    <?php
    foreach ($get_villes as $villes) {
    ?>
    <option><?php echo $villes->villes;?></option>
    <?php
    }
    ?>
    </select>

    <Select class="field other_star test_class" name="district" id="district">
    <option value="">Région</option>
    <?php
    foreach ($get_district as $district) {
    ?>
    <option><?php echo $district->district;?></option>
    <?php
    }
    ?>
    </select>

    <Select class="field other_star test_class" name="department" id="department">
    <option value="">Département</option>
    <?php
    foreach ($get_department as $department) {
    ?>
    <option><?php echo $department->department;?></option>
    <?php
    }
    ?>
    </select>

    Puis je suis aller dans le fichier route qui ce trouve dans .../laravel/app/Http/routes.php
    et j'ai écris a la suite "Route::get('villes/{idpays}', 'AddressController@getListCitiesByCountry');"

    Puis j'ai crées dans .../laravel/app/Http/Controllers/ le fichier AddressController.php et écris cela :

    <?php namespace App\Http\Controllers;

    public function getListCitiesByCountry($idpays) {

    $villes = City::where('countryid', $idpays)->get();

    return $villes;

    }

    Et bien enregister les différents fichiers.
    Puis bien fait un CMD R et cela ne donne rien

    S.O.S pour information je suis novice sous LARAVEL.

    Merci de ton aide,

  • Avatar de SeifAllahBa
    Membre depuis :
    04/08/2017
    Messages :
    4

    ou est le code javascirpt !

Vous ne pouvez pas répondre à ce sujet.