Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将不同的数组传递给onclick函数_Javascript_Arrays_Onclick - Fatal编程技术网

Javascript 将不同的数组传递给onclick函数

Javascript 将不同的数组传递给onclick函数,javascript,arrays,onclick,Javascript,Arrays,Onclick,我想将不同的数组值传递给onclick函数,当单击按钮显示结果时。单击第一个“显示”按钮时,我的预期结果应该是4和5,第二个“显示”按钮应该是5和6。但是我的代码只显示了第一个和第二个按钮的5和6,我如何才能得到预期的结果 <table name="itemTable" id="itemTable" style="width:100%"> <tr> <th style="width:5%"></th> <th style="w

我想将不同的数组值传递给onclick函数,当单击按钮显示结果时。单击第一个“显示”按钮时,我的预期结果应该是4和5,第二个“显示”按钮应该是5和6。但是我的代码只显示了第一个和第二个按钮的5和6,我如何才能得到预期的结果

<table name="itemTable" id="itemTable" style="width:100%">
<tr>
    <th style="width:5%"></th>
    <th style="width:5%"></th>
    <th style="width:50%">2</th>
    <th style="width:10%">3</th>
    <th style="width:15%">4</th>
    <th style="width:15%">5</th>
</tr>
</table>
<script type="text/javascript"> 
var member_data= [];//if declare here, all all of the row get the latest id
addrow(1);
addrow(2);

function addrow(branch_id){
    //var member_data= [];//if declare here will show "member_data is not defined"
    member_data= [];
    member_data.push({
        phone: 123,
        name: "aaa",
        id: 3 + branch_id
    });
    member_data.push({
        phone: 456,
        name: "bbb",
        id: 4 + branch_id
    });

    ttt(branch_id,member_data);
}

function ttt(branch_id,member_data){
    var table = document.getElementById("itemTable");
    var tableRow = table.rows.length;
    var row = table.insertRow(tableRow);
    var cell1 = row.insertCell(0);

    cell1.innerHTML = 
                    '<button type="button" onclick="show_member(member_data)">Show</button>'//this line of show "member_data is not defined"
                    + '<input type="text" name="branch" value="'+branch_id+'">';
}

function show_member(aaa){
    for (var i = 0; i < aaa.length; i++) {
        //console.log(aaa[i]);
        alert(JSON.parse(aaa[i].id));
    }
}

2.
3.
4.
5.
var成员_数据=[]//如果在此处声明,则所有行都将获得最新的id
addrow(1);
addrow(2);
函数addrow(分支\u id){
//var member_data=[];//如果在此处声明将显示“member_data未定义”
成员_数据=[];
成员_data.push({
电话:123,
名称:“aaa”,
id:3+分支机构id
});
成员_data.push({
电话:456,
名称:“bbb”,
id:4+分支机构id
});
ttt(分支机构id、成员数据);
}
功能ttt(分支机构id、成员数据){
var table=document.getElementById(“itemTable”);
var tableRow=table.rows.length;
变量行=table.insertRow(tableRow);
var cell1=行插入单元格(0);
cell1.innerHTML=
'Show'//这行Show“未定义成员数据”
+ '';
}
功能显示成员(aaa){
对于(变量i=0;i

单击第一个“显示”按钮时,我的预期结果应该是4 第二个“显示”按钮应该是5和6。但我的代码只是 第一个和第二个按钮显示5和6

因为在调用onclick时,成员数据已经更改,因为它是全局定义的,并且每个新按钮的值都会更新

addRow
方法更改为以下方法,以便
member\u data
现在包含所有分支的数据

function addrow(branch_id){
    member_data= [];
    member_data[branch_id].push({
        phone: 123,
        name: "aaa",
        id: 3 + branch_id
    });
    member_data[branch_id].push({
        phone: 456,
        name: "bbb",
        id: 4 + branch_id
    });

    ttt(branch_id,member_data);
}
类似地,ttt

function ttt(branch_id,member_data){
    var table = document.getElementById("itemTable");
    var tableRow = table.rows.length;
    var row = table.insertRow(tableRow);
    var cell1 = row.insertCell(0);

    cell1.innerHTML = 
                    '<button type="button" onclick="show_member(member_data, '+ branch_id +')">Show</button>'//this line of show "member_data is not defined"
                    + '<input type="text" name="branch" value="'+branch_id+'">';
}
功能ttt(分支机构id、成员数据){
var table=document.getElementById(“itemTable”);
var tableRow=table.rows.length;
变量行=table.insertRow(tableRow);
var cell1=行插入单元格(0);
cell1.innerHTML=
'Show'//这行Show“未定义成员数据”
+ '';
}
最后,将_成员显示为

function show_member(aaa, branchId){
    for (var i = 0; i < aaa[branchId].length; i++) {
        //console.log(aaa[i]);
        alert(JSON.parse(aaa[branchId][i].id));
    }
}
函数显示\u成员(aaa、branchId){
对于(var i=0;i
我跟随addrow,它显示“无法读取未定义的属性'push'”@Arzozeus抱歉,在推送
成员数据[branch_id]=[]之前添加此项谢谢@gurvinder372,我能得到我想要的,非常感谢