无法将值传递给onclick事件触发的函数

时间:2015-03-08 09:13:17

标签: javascript jquery

名为buildSub(data)的函数及其实现如下所示       我试图将值传递给名为dispProductCategoryWise(par1,par2,par3)的函数。

  function buildSub(data) {
    tempCategoriesList ='';
    var len = data.length;
    if (len > 0) {
        for ( var i = 0; i < len; i++) {
            var subcat = data[i];
            tempCategoriesList =  tempCategoriesList
            + $.trim(
                    "<li><a href='#' onclick=dispProductCategoryWise('"+subcat.name+"','"+subcat.id+"','60');>"+subcat.name+"</a></li>"


            );
        } 

    }
    return tempCategoriesList;
}

问题在于当subcat.name =&#34; Dry Fruits&#34;。该函数未被调用。当我在浏览器中检查元素时,我看到以下输出。

<a href="#" onclick="dispProductCategoryWise('Dry"  Fruits','105','60');="">Dry Fruits</a>

当它遇到变量名中的空格时,它会传递双引号。

当subcat.name =&#34;杏仁&#34;即;没有任何空间。该函数被调用并正常工作。当我在浏览器中检查元素时,我看到以下输出。

<a href="#" onclick="dispProductCategoryWise('Almonds','106','60');">Almonds</a>

这是值的传递方式。请帮我。当它有空间时为什么没有传递适当的值?对不起,如果我犯了任何打字和语法错误。

1 个答案:

答案 0 :(得分:0)

不要逃避单引号,写得像这样:

"<li><a href='#' onclick=\"dispProductCategoryWise('"+subcat.name+"','"+subcat.id+"','60');\">"+subcat.name+"</a></li>"