Bonjour,
Je vous plante de décord. J'ai créé un Bot à Cryto sur trois Exchange (Bittrex, Binance et Poloniex) le tout en PHP et Python pour le coté serveur du Bot et PHP (html, Css, Javascript, Ajax) (CodeIgniter) pour le coté affichage client. Le système fonctionne par récupération des siganaux (MiningHamster) et ensuite le passage d'ordre par les API des Exchange. Vous pouvez trouver des info sur un article de mon Blog : https://www.blog-de-michel.fr/bot-trading-crypto-bittrex-binance-poloniex-sur-signaux-mininghamster/
Le tout fonctionne pas mal il me reste encore de temps en temps des erreurs sur des passage d'ordre, je dois faire une vrai version anglaise (actuellement mélange français anglais), une page de stat, la possibilité d'avoir une liste de monnaie non utilisable et surement plein d'autre truc...

Sur la page d'information des ordres passés je construits un tableau à l'ouverture de la page directement avec une fonction Ajax qui va récupérer les données et ensuite fait une mise à jour à période variable suivant les réglages de l'utilisateur. Sur ce tableau j'ai ajouté sur chaque ligne un bouton pour pouvoir supprimer un ordre manuellement (il y a une fonction automatique qui supprime un ordre suivant le réglage de l'utilisateur pour limiter les pertes) . Ce bouton ouvre avec une fonction Ajax une autre DIV qui contient 2 boutons pour annuler l'ordre ou ne pas supprimer. Le bouton oui va supprimer l'ordre de vente et passer un ordre autre ordre de vente au prix du marché avec une fonction Ajax.

Tout marche bien mais...
Quand j'ouvre la page dans mon navigateur et que je veux annuler un ordre tout va bien. Mais quand je supprimer un ordre après une mise à jour du tableau les boutons de suppression n'ont plus d'action.

    $('.supOrder').click(function() {
        var form_data = {
             block  : 'supOrder',
             ajax    : '7',
             nbOrder : $(this).val()
        };
        $.ajax({
            async : false,
            type: 'POST',
            url: "<?php echo site_url('ajax'); ?>",
            data: form_data,
            success: function(html){
            $("#supOrder").html(html);
            }
        });
    });

Si dessus la fonction JS qui détecte le clic d'un bouton.

$this->data['balance'] .= '<td><button type="button" class="btn btn-danger btn-xs center-block supOrder" value=' . $value['orderNumber'] .'>';
                    $this->data['balance'] .= '<span class="spinner"></span><i class="fa fa-times"></i></button> </td></tr>';

Et le code PHP qui crée le bouton.

Merci de votre aide.

4 réponses


Bonjour.
Il te faut utiliser la méthode on de jQuery.
Voir : Tutoriel Vidéo jQuery » jQuery.on().

Bonsoir,
J'ai le même comportement avec .on plus d'action du bouton après la mise à jour du tableau.

Bonjour.
Montres le code avec la méthode on, tu dois forcément mal l'utiliser.

Bonjour, Oui tu avais raison j'avais fait une erreur. En fait il faut que le .on commence par un elément déjà construit sur la page et non pas d'un élément construit par AJAX. J'ai repris le code avec l'ID de mon DIV du fichier HTML et cela marche.
Merci