Ace编辑器显示错误

时间:2014-05-06 11:44:14

标签: javascript jquery ace-editor

我在我的网站上运行了编辑器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">&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 个答案:

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