Javascript未捕获syntaxerror意外标识符错误

时间:2015-04-10 07:21:43

标签: javascript html css innerhtml

基本上,该方法打印一个带有值的列表,当我点击一个值时,我收到此错误:Uncaught SyntaxError:第6行的意外标识符。

因此,我无法将我点击的值传递给liveSearch方法。我试图搜索网络以期解决错误,但无济于事,我无法找到解决方案。请指教。

function printSuggestResult(arrOfSuggestText,getRows){
    var htmlStr  = "<button id='dropdownB' href='#' class='dropdown-toggle btn btn-default'data-toggle='dropdown'>Found  <span id='resultCount' class='badge'></span> &nbsp</b></button><ul class='list-group  scrollable-menu'>";

    for(var i=0; i<arrOfSuggestText.length; i++){
        htmlStr += "<li class='list-group-item '>";

        if(arrOfSuggestText[i] != "null"){
            htmlStr +=  '<a id="searchResult'+i+'" href="javascript:liveSearch('+arrOfSuggestText[i]+')" > '+arrOfSuggestText[i]+'</a>';
        }
        htmlStr += "</li>";
    }

    htmlStr += "</ul>";

    document.getElementById('searchResultList').innerHTML = htmlStr;
        $('#resultCount').text(getRows);
    }

function liveSearch(getText){
    var arrOfText = new Array();
    var arrOfLat = new Array();
    var arrOfLon = new Array();

    getText = getText.replace(" ","+");
    var testy = encodeURIComponent(getText);
}

1 个答案:

答案 0 :(得分:0)

在这一行

htmlStr +=  '<a id="searchResult'+i+'" href="javascript:liveSearch('+arrOfSuggestText[i]+')" > '+arrOfSuggestText[i]+'</a>';

并具体在这里'" href="javascript:liveSearch('+arrOfSuggestText[i]+')" > '你尝试创建调用函数,但是如果你看到这个字符串的值,对于arrOfSuggestText[i] == 'qwe'你可以看到像

这样的东西
href="javascript:liveSearch(qwe)"

和浏览器引发错误qwe上的错误。

所以你只需要添加引号,如

'" href="javascript:liveSearch(\''+arrOfSuggestText[i]+'\')" > '