我在我的网站上运行了编辑器ace.js。现在,当用户提交他的代码时,php文件会检查是否正确。如果有错误,我会得到一个数组(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">×</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!
答案 0 :(得分:2)
调用setAnnotations一次。像这样
editor.getSession().setAnnotations(errorArray.map(function(x) {
return {
row: x-1,
text: "Hier stimmt was nicht",
type: "error" // also warning and information
}
}));