Javascript 如何将JS数组传输到外部脚本
如何将JS数组传输到外部脚本? 我有smarty数组{myarray}和以下代码:Javascript 如何将JS数组传输到外部脚本,javascript,arrays,smarty,Javascript,Arrays,Smarty,如何将JS数组传输到外部脚本? 我有smarty数组{myarray}和以下代码: <li onclick='myfunction("{myarray}")'>TRANSFER</li>
<li onclick='myfunction("{myarray}")'>TRANSFER</li>
函数myfunction(myarray)
{
var内容=“”;
{foreach$myarray key=k item=f}
内容+='';
内容+=''+'{$k}+'+'+'+'{$f}+';
内容+='';
{/foreach}
内容+='';
document.getElementById(“表”).innerHTML=content;
}
但它不起作用。我不知道为什么。
我可以传输变量,但不能传输数组。您可以对数组进行json\u编码
<li onclick="myfunction({$myarray|@json_encode nofilter})">Transfer</li>
并使用JS中的arguments对象
function myfunction(myObj) {
var tableElement = document.createElement('table');
tableElement.id = 'tableid';
tableElement.className = 'table-data-sheet';
var content = '';
var valueKeys = Object.keys(myObj);
for(var i=0;i<valueKeys.length;i++){
content +='<tr><td>'+valueKeys[i]+'</td><td>'+myObj[valueKeys[i]]+'</td></tr>';
}
tableElement.innerHTML = content;
document.getElementById("tabledivid").appendChild(tableElement);
}
function myfunction() {
var tableElement = document.createElement('table');
tableElement.id = 'tableid';
tableElement.className = 'table-data-sheet';
var content = '';
for(var i=0;i<arguments.length;i++){
content +='<tr><td>'+i+'</td><td>'+arguments[i]+'</td></tr>';
}
tableElement.innerHTML = content;
document.getElementById("tabledivid").appendChild(tableElement);
}
函数myfunction(){
var tableElement=document.createElement('table');
tableElement.id='tableid';
tableElement.className='表格数据表';
var内容=“”;
对于(var i=0;iit,您似乎正在发送一个普通字符串“{myarray}”,您是否尝试过不使用双引号而只发送{myarray}?
function myfunction() {
var tableElement = document.createElement('table');
tableElement.id = 'tableid';
tableElement.className = 'table-data-sheet';
var content = '';
for(var i=0;i<arguments.length;i++){
content +='<tr><td>'+i+'</td><td>'+arguments[i]+'</td></tr>';
}
tableElement.innerHTML = content;
document.getElementById("tabledivid").appendChild(tableElement);
}