0
votes

Popultez le modèle sur Sélectionner l'option de changement dans une table

J'ai une table et à l'intérieur, j'ai une sélection xxx pré>

et je veux quand même la statue de Select Change Je souhaite faire sauter le modèle et c'est ce que j'ai fait p>

        $("#statue").on('change', function(e){
            e.preventDefault();

            var tr = $(this).parents('tr');
            var id = $(tr).data('id');
            var statue = $(this).val();

            bootbox.confirm({
                size: "small",
                message: "{{__('messages.cheques.statue_confirmation')}}",
                buttons: {
                    confirm: {
                        label:"{{__('messages.buttons.confirm')}}",
                        className: 'btn-sm btn-danger'
                    },
                    cancel: {
                        label:"{{__('messages.buttons.cancel')}}",
                        className: 'btn-sm btn-defaul'
                    }

                },
                callback: function(result){
                    if(result){
                        if(statue == 3){
                            $("#transfer-cheque-form").find("#id").val(id);
                            $("#transfer-cheque").modal();
                        }else{
                            $.post('change-statue/'+id, {_token:$('meta[name="csrf-token"]').attr('content'), statue:statue}, function(data){
                                if(data.success){
                                }
                            });
                        }

                    }
                }
            });
        });


1 commentaires

Vous devez fournir un sélecteur à la fonction ON. Dupliquer possible de Stackoverflow.com/Questtions/13418963/...


3 Réponses :


1
votes

Je soupçonne que le problème est que vous l'attrapez par ID de Statue. L'ID est censé correspondre uniquement à un élément de la page (ID devrait être unique). Ce que vous voulez probablement faire, c'est ajouter une classe à votre sélection et modifier votre sélecteur JQuery pour sélectionner cette classe à la place.

<select name="statue" class="form-control" id="statue" class="statue-select">

$(".statue-select").on('change', function(e) {
    ...
});


2 commentaires

Merci à résoudre le problème, mais seulement sur la première page de la pagination la seconde sur ne fonctionne pas


JQuery n'applique que le gestionnaire aux éléments existant sur la page au moment de l'exécution de ce code. Si vous souhaitez que la pagination fonctionne correctement, cela doit être appliqué à chaque fois que la pagination est interagi avec. Une autre solution probablement plus simple serait de tout déplacer vers une fonction JavaScript et de définir un attribut Onchange sur la sélection.



0
votes

Premièrement, un DOM HTML ne peut contenir que Simple avec un ID. Vous pouvez faire: xxx pré>

si vos éléments sont modifiés / manipulés de manière dynamique sur Ajax Pagination, par exemple, vous pouvez faire: P>

$(document).on('change', 'select[name="statue"]', function(e) {
    ...
});


0 commentaires

0
votes

Vous ne devez pas avoir de carte d'identité statique dans l'élément SELECT, vous pouvez résoudre le problème de l'ajout d'une fonction pour écouter le changement de sélection

p>

<select onchange="myFunction(event)">


0 commentaires