-1
votes

Comment générer de manière dynamique une expression dans jQuery?

J'ai un problème dans lequel j'ai généré Nom de la case à cocher de manière dynamique, qui se trouve à l'intérieur d'une boucle, j'ai ajouté une carte d'identité en boucle au nom et que le nom est généré pour chaque ligne du tableau (qui est toujours identique) J'essaie de capturer cette variable dans JQuery, l'expression s'en va bien, mais tout en exécutant le code, je reçois une erreur d'erreur "Erreur non capturée: erreur de syntaxe, expression non reconnue:" , ci-dessous est mon code JQuery: < pré> xxx

ici la variable C est formé comme "entrée [nom = '1CHECKBOX']" qui est correct, mais en ce qui concerne le $ (C). partie, il jette l'erreur mentionnée ci-dessus. Certains peuvent-ils faire savoir comment les expressions dynamiques sont créées et courantes dans JQuery. Merci d'avance.


7 commentaires

$ ('"entrée"') n'est pas valide - vous avez trop de "


Cette citation, j'ai placé dans la question, laissez-moi le supprimer, dans le code, les citations sont correctes.


Ce si ($ ("#" + $ (ceci). (ID) + "entrée [TYPE = 'Cochez la case']") "Attrib (" coché ", true)) { devrait être Changé en si ($ ("#" + $ (ceci). ATTR (ID) + "Entrée [TYPE = 'Cochez la case']") "est (': coché')) {


Pourquoi n'utilisez-vous pas Couverts de modèles ?


C'est également dans le code: var c = "\" entrée [nom = "+ CBOX +"] \ "";


" Cela ne fonctionne pas sans eux " - Eh bien, il clairement ne fonctionne pas avec eux - alors peut-être que vous demandez au mauvais question? C'est un problème classique XY - vous avez un problème A, essayé de le réparer avec B, B ne fonctionnait pas, vous avez donc demandé pourquoi B ne fonctionne pas - au lieu de poser une question sur A.


Votre question réelle est résolue à l'aide de classes ou de la navigation DOM relative. Si vous pouviez inclure des HTML qui indique comment la cote de Select_all et XCheckbox (ES) se rapportent les unes aux autres, nous pouvons fournir une solution simple.


3 Réponses :


0
votes

fessez le redondant " code> marque enveloppant le sélecteur: au lieu de

var c ="input[name="+cbox+"]";        


2 commentaires

Cela n'a pas fonctionné, c'est pourquoi j'ai dû inclure les citations.


Et plus simplement: `saisir [nom =" $ {cbox} "]`



1
votes

Vous pouvez essayer: xxx pré>

exemple: p>

p>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input name="password"/>


0 commentaires

0
votes

Je pourrais résoudre mon problème en modifiant le code ci-dessous, ci-dessous est le code JS que j'ai utilisé.

$('.select_all').on("click", function(event) {
     console.log("inside event propogation")
        event.stopPropagation();
    });

$('.select_all').on('click',function(){
    var id = $(this).attr('id');        
    var cbox = "'"+id+"checkBox"+"'";   
    if(this.checked) {                  
        $("[name="+cbox+"]").each(function(){               
          this.checked = true;                
    });         
    }else {
        $("[name="+cbox+"]").each(function(){       
             this.checked = false;
            
        });
    }               

});


0 commentaires