Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.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 使用来自另一个表jQuery的数据动态地将行添加到表中_Javascript_Jquery_Html - Fatal编程技术网

Javascript 使用来自另一个表jQuery的数据动态地将行添加到表中

Javascript 使用来自另一个表jQuery的数据动态地将行添加到表中,javascript,jquery,html,Javascript,Jquery,Html,我的页面上有两张表格,如图所示 我想做的是: 选择源表中的行 从源表中读取ID字段、Name字段中的数据,以及单选按钮的值。 将这些数据形成目标表的行,并将这些行附加到目标表中。 现在我使用两个数组来存储从源表读取的ID和名称,但是我对如何为目标表形成一行有点困惑 $('#btnLinkCase').click(function (event) { var caseID = $('#caseID').text(); var linkedIDArr = []; //array list for s

我的页面上有两张表格,如图所示

我想做的是:

选择源表中的行 从源表中读取ID字段、Name字段中的数据,以及单选按钮的值。 将这些数据形成目标表的行,并将这些行附加到目标表中。 现在我使用两个数组来存储从源表读取的ID和名称,但是我对如何为目标表形成一行有点困惑

$('#btnLinkCase').click(function (event) {
var caseID = $('#caseID').text();
var linkedIDArr = []; //array list for selected id
var linkedNameArr = []; //array list for selected name
$('#linkCaseTable tbody tr td:nth-child(2)').each(function (index, el) { //store each paire of <tr> into array
    linkedIDArr.push(el);
});
$('#linkCaseTable tbody tr td:last-child').each(function (index, el) { //store each paire of <tr> into array
    linkedNameArr.push(el);
});
$.each(linkedCaseIDArr, function (index, val) {
    //whats next?
});
});
请参阅所有源代码

有这样做的想法吗?提前谢谢

编辑: 如果选择了多行,它们将使用单选按钮中的相同值。例如:选择两行并选中类型1。在目标表中,它们的关系都是类型1。我希望我已经解释清楚了。

试试:

$('button').click(function (event) {
    $("#sourceTable tr:gt(0)").each(function(){
        var th = $(this);
        console.log("dfg")
        if($(th).find("input[name='link-cbx']").is(":checked")){ //assuming ids are unique remove condition if you do notwant so
            var id = $(th).find("td:eq(1)").text();
            var name = $(th).find("td:eq(7)").text();
            var type = "Type "+$("input[name='linkType']:checked").val();
            if($("#targetTable:contains('"+id+"')").length < 1){            
                $("#targetTable").append("<tr><td>"+id+"</td><td>"+name+"</td><td>"+type+"</td></tr>");
            }
        }
    });
});

您是否只需要目标表的ID、名称和类型?然后'var object=[{'name':'value'},{'ID':'value'},{'type':'value'}];是的,只需要ID、名称和类型。您的意思是将对象存储到数组中吗?然后使用数组为目标表形成行?你能给我一个JSFIDLE演示吗?在你的代码中,当选择type2时,目标表将只显示Type1,将type2的值更改为2tanks很多!它工作得很好!还可以防止目标表中的ID重复。@Twocode由于我的html,两个单选按钮的值都是1,当我将第二个单选按钮的值更改为2时,它可以正常工作