2017-09-05 1 views
0

Je suis nouveau sur JavaScript & jQuery. Je souhaite modifier de manière conditionnelle le texte th en fonction du contenu d'un tableau.Comment modifier de façon conditionnelle le contenu du texte de la balise th

var categoryNames = "Category : 1~!_Basis~#Category : 2~!_QUALITÄT~#Category : 3~!_GRUNDDATEN~#Category : 4~!_DISPOSITION~#Category : 5~!_VERTRIEB~#Category : 6~!_EINKAUF~#Category : 7~!_BUCHHALTUNG~#Category : 8~!_Optionen"; 

var replacetext = ["_Basis","_QUALITÄT","_GRUNDDATEN","_DISPOSITION","_VERTRIEB","_EINKAUF","_BUCHHALTUNG","_Optionen" ]; 

var res = categoryNames.split("~#"); 

for (var i=0; i< res.length; i++){ 
    var pattern = res[i]; 
    var rep = replacetext[i]; 
    $(function(){ 
    alert(pattern); 
    var m= $('table tr th:contains("'+pattern+'")'); 
    m.text(rep); 
    }); 
} 

code ci-dessus est simplement remplacer pour le dernier motif qui est "Catégorie: 8 ~ _Optionen!" Par "_Optionen". Veuillez suggérer.

Répondre

1

N'incluez pas document.ready à l'intérieur de la boucle.

var categoryNames = "Category : 1~!_Basis~#Category : 2~!_QUALITÄT~#Category : 3~!_GRUNDDATEN~#Category : 4~!_DISPOSITION~#Category : 5~!_VERTRIEB~#Category : 6~!_EINKAUF~#Category : 7~!_BUCHHALTUNG~#Category : 8~!_Optionen"; 
 
var replacetext = ["_Basis", "_QUALITÄT", "_GRUNDDATEN", "_DISPOSITION", "_VERTRIEB", "_EINKAUF", "_BUCHHALTUNG", "_Optionen"]; 
 
var res = categoryNames.split("~#"); 
 

 
for (var i = 0; i < res.length; i++) { 
 
    var pattern = res[i]; 
 
    var rep = replacetext[i]; 
 
    alert(pattern); 
 
    //var m = $('table tr th:contains("' + pattern + '")'); 
 
    //m.text(rep); 
 
    alert(rep) 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

+0

Accepter réponse si son aide :). Codage heureux. –

0

Je ne suis pas sûr de ce que vous essayez de faire en enveloppant le bloc de code qui remplace le modèle dans un objet jQuery. La boucle for peut simplement faire le remplacement.

for (var i=0; i< res.length; i++) 
{ 
    var pattern = res[i]; 
    var rep = replacetext[i]; 

    alert(pattern); 
    var m = $('table tr th:contains("'+pattern+'")'); 

    m.text(rep); 
}