2017-09-05 5 views
0

JavaScript가 새로 도입되었습니다. & jQuery. 배열의 내용에 따라 th 텍스트를 조건부로 변경하려고합니다. 코드 위조건부로 테이블 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); 
    }); 
} 

은 그냥 마지막 패턴 대체하고있다 "카테고리 : 8 ~ _Optionen!" "_Optionen"에 의해. 제발 제안 해주세요.

답변

1

for 루프 내부에 document.ready를 포함하지 마십시오. 그것 :)를 도움이된다면

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

은 대답을 수락합니다. 해피 코딩. –

0

jQuery 객체의 패턴을 대체하는 코드 블록을 래핑하여 무엇을 하려는지 확실하지 않습니다. for 루프는 단순히 대체 작업을 수행 할 수 있습니다.

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); 
}