根据弹出窗口的 table 数据,显示项目的父 table 数据不同

Depend on the popup's table data, parent's table data showing item is different

我有一个像这样的弹出模式。

当我单击 'ADD' 按钮时,弹出窗口 table 中的所有数据都显示在父级的 table 中。像这个。

问题是如果textbox2s中没有数据,我不想显示加号“+”。 这是 popup.js

处的代码
function add_to_prent_table(){

var popupTable = [];
var i = 0;

$('#testing > tbody > tr').each(function () {

    popupTable[i] = [
        $(this).find("#test_number").val(),
        $(this).find("#type_1").val(),
        $(this).find("#type_2").val(),
        $(this).find("#place_1").val(),
        $(this).find("#place_2").val(),
        ];
    i++;

    var newRow = '<tr>'+
    '<td id ="td_center">'+
        $(this).find("#test_piece_number").val() +
    '</td>'+
    '<td id ="td_center">'+
        $(this).find("#type_1").val() + ' + ' +
        $(this).find("#type_2").val() +
    '</td>'+
    '<td id ="td_center">'+
        $(this).find("#place_1").val() + ' + ' +
        $(this).find("#place_2").val() +
    '</td>'+
    '</tr>';

    $('#testing_parent tbody').append(newRow);
});

}

我该如何解决这个问题?

试试这个;

function add_to_prent_table() {

var popupTable = [];
var i = 0;

$('#testing > tbody > tr').each(function () {

    var testNumber = $(this).find("#test_number").val();
    var firstType = $(this).find("#type_1").val();
    var secondType = $(this).find("#type_2").val();
    var firstPlace = $(this).find("#place_1").val();
    var secondPlace = $(this).find("#place_2").val();

    popupTable[i] = [
        testNumber,
        firstType,
        secondType,
        firstPlace,
        secondPlace,
    ];

    i++;

    var newRow = '<tr>' +
        '<td id ="td_center">' +
        $(this).find("#test_piece_number").val() +
        '</td>' +
        '<td id ="td_center">' +
            firstType + secondType ? (' + ' + secondType) : '' +
        '</td>' +
        '<td id ="td_center">' +
            firstPlace + secondPlace ? (' + ' + secondPlace) : '' +
        '</td>' +
        '</tr>';

    $('#testing_parent tbody').append(newRow);
});
}

它很乱,但您可以将第一个 ' + ' 替换为:

$(this).find("#type_2").val() ? ' + ' : ''

并将第二个' + '替换为

$(this).find("#place_2").val() ? ' + ' : ''

基本上您要查看#type_2 和#place_2 是否有值。如果他们这样做,请添加一个“+”。如果没有,什么都不加。

只需在添加加号之前添加条件,如下所示,

 var newRow = '<tr>'+
    '<td id ="td_center">'+
        $(this).find("#test_piece_number").val() +
    '</td>'+
    '<td id ="td_center">'+
        $(this).find("#type_1").val() 
        if($(this).find("#type_2").val() != "")
        {
            ' + ' + $(this).find("#type_2").val()
        }
    '</td>'+
    '<td id ="td_center">'+
        $(this).find("#place_1").val() 
        if($(this).find("#place_2").val() != "")
        {
            ' + ' + $(this).find("#place_2").val()
        }
    '</td>'+
    '</tr>';