Fonction ajax ne fonctionnant que sous certaines conditions

Par Carouge10, il y a 10 ans


Bonjour,

Voila je rencontre un petit problème avec mon code, en revanche celui est fonctionnel.
Mon code consiste en une recherche en temps réel et une recherche basique (bouton rechercher).

Je souhaite pouvoir incrémenter/décrementer une quantité une base de données.

La partie head

<head> <script type="text/javascript"> $(document).ready( function() { // Clique pour ajouter un livre $("#button_ajout").click(function(){ // on envoie la valeur recherché en GET au fichier de traitement var sku = $(this).val(); $.ajax({ type : 'GET', // envoi des données en GET ou POST url : 'includes/maj_quantite.php' , // url du fichier de traitement data : 'sku='+$(this).val()+'&mode=ajout', // données à envoyer en GET ou POST success : function(data){ // traitements JS à faire APRES le retour d'maj_quantite.php $('#quantite_'+ sku).html(data); // affichage des résultats dans le bloc } }); }); // Clique pour enlever un livre $("#button_enlever").click(function(){ // on envoie la valeur recherché en GET au fichier de traitement var sku = $(this).val(); if($('#quantite_'+ sku).html() > 0){ $.ajax({ type : 'GET', // envoi des données en GET ou POST url : 'includes/maj_quantite.php' , // url du fichier de traitement data : 'sku='+$(this).val()+'&mode=enlever', // données à envoyer en GET ou POST success : function(data){ // traitements JS à faire APRES le retour d'maj_quantite.php $('#quantite_'+ sku).html(data); // affichage des résultats dans le bloc } }); } }); $('#inputsearch').keyup( function(){ $field = $(this); $('#results').html(''); // on vide les resultats $('#ajax-loader').remove(); // on retire le loader // on commence à traiter à partir du 2ème caractère saisie if( $field.val().length > 1 ) { // on envoie la valeur recherché en GET au fichier de traitement $.ajax({ type : 'GET', // envoi des données en GET ou POST url : 'includes/ajax-search.php' , // url du fichier de traitement data : 'search='+$(this).val()+'&secteur='+$('#inputsecteur').val(), // données à envoyer en GET ou POST beforeSend : function() { // traitements JS à faire AVANT l'envoi $field.after('<img src="img/ajax-loader.gif" alt="loader" id="ajax-loader" />'); // ajout d'un loader pour signifier l'action }, success : function(data){ // traitements JS à faire APRES le retour d'ajax-search.php $('#ajax-loader').remove(); // on enleve le loader $('#results').html(data); // affichage des résultats dans le bloc } }); } }); }); </script>

La partie affichage dans la page (raccourci)

<!--preparation de l'affichage des resultats--> <div id="results"> ... <td class="check"><button class="btn btn-info" id="button_ajout" value="<?= $livres->sku_vendeur; ?>">+</button><button class="btn btn-info" id="button_enlever" value="<?= $livres->sku_vendeur; ?>">-</button></td> ... </div>

Dans le fichier ajax-serach.php, je fais la recherche et affiche la même chose que dans la partie juste au-dessus.

Ce que j'obtiens

Quand je fais une recherche par la méthode classique, cela fonctionne.
Par contre quand j'utilise la méthode de recherche en temps réel, l'incrémentation/décrémentation ne fonctionne plus.

Merci pour vos lumières.

3 réponses

antho07, il y a 10 ans

Bonjour, qu'entends tu par incrémenter/décrémenter ?

Carouge10, il y a 10 ans

Lorsque je cherche un livre, j'ai la possibilité d'augmenter ou de réduire sa quantité en clicquant sur un boutton

Carouge10, il y a 10 ans

petit up (^_^)