首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在js中使用onClick传递数组

在js中使用onClick传递数组
EN

Stack Overflow用户
提问于 2019-05-18 10:25:21
回答 2查看 338关注 0票数 0

所以我有下面的代码。每当我单击该按钮时,它都会转到render_initialize_board和console.logs,只修复数组的第一个元素。如何在javascript中使用onclick将整个数组传递给函数?

代码语言:javascript
运行
复制
function render_initialize_board(N,fixed){
     console.log(fixed);
}

 N = 4;
 var fixed = [0,1,0,0]

  $("#header ul").append('<li><a href="#'+N+'" data-toggle="tab" onclick="render_initial_board('+N+','+fixed+')">'+ N +'</a></li>');
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-18 10:39:24

你的引号太多了。有了这些引号,您就可以将数组的字符串表示传递给函数,从函数的角度来看,它就像是每个元素的单独参数。您可以只使用:

代码语言:javascript
运行
复制
onclick="render_initialize_board(N, fixed)"

代码语言:javascript
运行
复制
function render_initialize_board(N, fixed, fixed2) {
  console.log(fixed);
}

N = 4;
var fixed = [9, 1, 0, 0]

$("#header ul").append('<li><a href="#' + N + '" data-toggle="tab" onclick="render_initialize_board(N, fixed)">' + N + '</a></li>');
代码语言:javascript
运行
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="header">
  <ul>
    </ul>
</div>

票数 1
EN

Stack Overflow用户

发布于 2019-05-18 11:18:43

通过连接这些字符串和变量,可以将fixed数组转换为字符串。正因为如此,在处理单击事件时,函数调用看起来像这样:render_initialize_board(4, 0, 1, 0, 0)

在这种情况下,fixed参数实际上等于0。

为了更容易阅读,同时避免这个问题,只需使用jQuery的click方法即可。

代码语言:javascript
运行
复制
function render_initialize_board(N, fixed) {
  console.log(fixed);
}

var N = 4;
var fixed = [0, 1, 0, 0];

$("#header ul")
  .append('<li><a href="#' + N + '" data-toggle="tab">' + N + "</a></li>")
  .click(() => render_initialize_board(N, fixed)); // Replace "onclick" with this
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56195486

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档