即时使用以下javascript函数
function showUser(cats1,cats2,nam_cat)
{
document.getElementById("eq").style.display='';
document.getElementById('eq').innerHTML = '<TABLE cellpadding="3" class="b bc r w4"><TR class="ln g"> <TD class="l"><B>'+nam_cat+' Schemes</B></TD> <TD><A HREF="#" onclick="AlphaSort(\'scheme_1_month\',\'+cats1+\',\'+cats2+\',\'+nam_cat+\')">1 mth</a></TD> <TD>3 mth</TD> <TD>6 mth</TD> <TD>1 yr</TD> <TD>3 yr</TD> <TD>5 yr</TD> <TD>Inception</TD> <TD>NAV</TD></TR>'+sc_nms+'</Table>';
document.getElementById("all").style.display='none';
}
}
但是当我在AlphaSort函数中警告数据时,它会显示名称,即“+ cats1 +”。 我的值正在调用,但在调用这些值时不会传递给相应的函数。我的代码中调用此函数的错误是什么??????
答案 0 :(得分:2)
嗯,这是我对您提供的代码的测试 - 通过调整使其工作。遗憾的是,你没有包含AlphaSort函数,但假设这个函数中的错误阻止了工作,这可能会让你上路!
<div id="eq"></div>
<div id="all"></div>
<script type="text/javascript">
function showUser(cats1,cats2,nam_cat)
{
var sc_nms = "You didn't define this variable";
document.getElementById("eq").style.display='';
document.getElementById('eq').innerHTML = '<TABLE cellpadding="3" class="b bc r w4"><TR class="ln g"> <TD class="l"><B>'+nam_cat+' Schemes</B></TD> <TD><A HREF="#" onclick="AlphaSort(\'scheme_1_month\',\''+cats1+'\',\''+cats2+'\',\''+nam_cat+'\')">1 mth</a></TD> <TD>3 mth</TD> <TD>6 mth</TD> <TD>1 yr</TD> <TD>3 yr</TD> <TD>5 yr</TD> <TD>Inception</TD> <TD>NAV</TD></TR>'+sc_nms+'</Table>';
document.getElementById("all").style.display='none';
}
showUser("meow", "purr", "Fluffy");
</script>
答案 1 :(得分:1)
问题在于,当您打算将变量“cats1”的值连接到字符串中时,实际上是将其作为字符串插入,因为用于分隔字符串的前面单引号是转义的。
通过从单引号前面删除\,您将把变量的值而不是字符串本身添加到字符串中。