2014-05-06 158 views
0

我得到了編輯ace.js在我的網站上運行。現在當用戶提交他的代碼時,一個php文件檢查是否正確。如果有錯誤,我得到一個Array(errorArray)和錯誤的行號。例如。有3,17,35。現在,當我嘗試將arror註釋設置爲代碼編輯器時,它只在數組的最後一行旁邊設置註釋(在本例中爲35)。王牌編輯器顯示錯誤

這是代碼:

$("#tipp").click(function(){ 

         // wenn tipp geklickt 
          var str = response; 
          var errorArray = str.split(" "); 
          $(".errors").append(' <div class="alert alert-warning alert-dismissable"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>Hier sind deine Fehler!</div>'); 
          for(var i=0; i<errorArray.length-1; i++){ 
           console.log(errorArray[i]); 
           editor.getSession().setAnnotations([{ 
            row: errorArray[i]-1, 
            text: "Hier stimmt was nicht", 
            type: "error" // also warning and information 
           }]); 
          }  
         }); 

任何建議每行,這是在陣列中,如何得到一個錯誤的註釋? Thx!

回答

1

調用setAnnotations一次。例如像這樣

editor.getSession().setAnnotations(errorArray.map(function(x) { 
    return { 
     row: x-1, 
     text: "Hier stimmt was nicht", 
     type: "error" // also warning and information 
    } 
})); 
+0

訣竅。謝謝! – m1crdy