Bonjour,

J'ai fais le prochaint est: donc j'ai un tableau et a la fin le tableau a un bouton qui va ouvrir une fenêtre (modal). J'ai donné a ce bouton une data value:

<button data-toggle="modal" id="button_ng" data-value="<?php foreach(get_next_game($team->link_name) as $next_game_info){ echo $next_game_info->id;} ?>" data-target="#<?php foreach(get_next_game($team->link_name) as $next_game_info){ echo $next_game_info->team;} ?>_ng" class="btn btn-primary btn-circle"><i class="fa fa-list"></i></button>

Je précise que ce bouton est dans un tableau foreach. Maintenant, quand je clique sur le bouton. J'aimerais que le data-link s'affiche ou bien ici: l'id. Je fais la prochaine chose:

var id = $('#button_ng').data('value');
  $('#button_ng').click(function(){
    alert(id);
  });

Le problème est que pour le premier bouton ca l'affiche bien, mais quand je clique sur les autres, ca ne marche pas...:/

merci d'avance pour votre aide!! ;)

3 réponses


Bonjour,

ton problème vient du fait que tu cibles ton élément par son id css ( #button_ng ) et que tous tes bouttons ont le même ( ce qui n'est pas correct d'ailleurs car l'id doit être unique à un seul élément de la page )

Ajoute une classe css à ton boutton, par exemple .button_ng

et

$('.button_ng').click(function(e){
    e.preventDefault();
    var id = $(this).data("value");
    alert(id);
  });

Yo, stock le résultat de ton foreeach dans une variable et ajoute le ensuite dans ton data-value.
Car c'est vomitif de voir un foreach inséré dans du code html comme cela.

pege
Auteur

Ca marche bien mais en faite j'ai un form de ce genre:

<form method="post" class="edit-next-game" data-value="<?php foreach(get_next_game($team->link_name) as $next_game_info){ echo $next_game_info->id;} ?>" >
                                                    <?php foreach(get_next_game($team->link_name) as $next_game_info): ?>   
                                                        <div class="row">
                                                            <div class="col-lg-6">
                                                                <label for="date">Date:</label>
                                                                <input class="form-control" id="date" data-inputmask-clearmaskonlostfocus="false" value="<?php echo date('d-m-Y' ,strtotime($next_game_info->datetime)); ?>" />     
                                                            </div>
                                                            <div class="col-lg-6">
                                                                <label for="time" >Heure:</label>
                                                                <input class="form-control" id="time" data-inputmask-clearmaskonlostfocus="false" value="<?php echo date('G\hi' ,strtotime($next_game_info->datetime)); ?>" />
                                                            </div>
                                                        </div>

                                                        <label for="home" >Domicile:</label>
                                                        <select class="form-control" id="home">
                                                            <option>--club--</option>
                                                            <?php foreach(get_clubs() as $club): ?>
                                                                <option value="<?php echo $club->team; ?>" <?php if($club->team == $next_game_info->home){echo "selected";} ?>><?php echo $club->team; ?></option>
                                                            <?php endforeach; ?>
                                                        </select>

                                                        <label for="away" >Extérieur:</label>
                                                        <select class="form-control" id="away">
                                                            <option>--club--</option>
                                                            <?php foreach(get_clubs() as $club): ?>
                                                                <option value="<?php echo $club->team; ?>" <?php if($club->team == $next_game_info->away){echo "selected";} ?>><?php echo $club->team; ?></option>
                                                            <?php endforeach; ?>
                                                        </select>

                                                       <div class="row">
                                                            <div class="col-lg-6">
                                                                <label for="scoreh" >Score visités:</label>
                                                                <input type="number" min="0" max="250" class="form-control" id="scoreh" />     
                                                            </div>
                                                            <div class="col-lg-6">
                                                                <label for="scorea" >Score visteurs:</label>
                                                                <input type="number" min="0" max="250" class="form-control" id="scorea" />
                                                            </div>
                                                        </div>

                                                        <label for="place" >Lieu:</label>
                                                        <select class="form-control" id="place_ng">
                                                            <option>--sale--</option>
                                                            <?php foreach(get_places() as $place): ?>
                                                                <option value="<?php echo $place->hall; ?>" <?php if($place->hall == stripslashes($next_game_info->place)){echo "selected";} ?>><?php echo $place->hall; ?></option>
                                                            <?php endforeach; ?>
                                                        </select>
                                                        <br>
                                                        <button class="btn btn-primary" type="submit" class="submit">Enregistrer</button>
                                                    <?php endforeach; ?>
                                                </form>

et le problème est que je ne sais pas récuperer les autres champs en faisant:

$(document).ready(function(){

    $('.edit-next-game').submit(function(e){
    e.preventDefault();
    var id = $(this).data("value");
   var date = $("#date").val();
var time = $("#time").val();

    alert(id);
  });
});
...

Merci d'avance!!