javascript - 在一个 td 中显示数组项,每个项在新行中显示

标签 javascript jquery

我有一个来自 datatable 的数组,在我的 Bootstrap 模式中填充了一个表。

在模态中显示如下:

enter image description here

这是我当前的 jQuery,用于在我的模式中填充我的表:

$('#selectedReportDataTable').on('click', 'button[name="deleteContentButton"]', function () {
    var deleteRunData = selectedReportDataTable.row($(this).closest('tr')).data();

    $('#deleteModal').modal('show');
    $('span[name=selectedReport').text(reportSelectedLowerCased);
    $('td[name=modalPeriod]').text(deleteRunData.period);
    $('td[name=modalSpecParams]').text(deleteRunData.specialParams);
    $('td[name=modalFreq]').text(deleteRunData.frequency);
    $('td[name=modalTimeFrame]').text(deleteRunData.timeFrame);
    $('td[name=modalTime]').text(deleteRunData.time);
    $('td[name=modalRecipients]').text(deleteRunData.recipient);

    $('#deleteModal').on('shown.bs.modal', function () {
        $('#deleteModalNoButton').focus();
    });
})

这是最后一行:

$('td[name=modalRecipients]').text(deleteRunData.recipient);

填充电子邮件列

这是我试过的代码:

var abc = deleteRunData.recipient
var def = deleteRunData.recipient.toString().split(", ").join("<br/>");
var ghi = $('td[name=modalRecipients]').text();
var jkl = def.replace(/,/g, "\n")

console.log(abc)
console.log(def)
console.log(ghi)
console.log(jkl)

console.log(abc.join('\r\n'));

这给了我以下信息:

enter image description here

如果我替换:

$('td[name=modalRecipients]').text(deleteRunData.recipient);

以下(作为示例):

$('td[name=modalRecipients]').text(def.replace(/,/g, "\n"));

看起来像下面这样:

enter image description here

它用空格代替了逗号,这不是我想要的。我希望每个条目都换行 - 我做错了什么?

HTML 以防万一:

<table class="table" style="table-layout: fixed; width: 100%">
    <tr>
        <th class="modalTable" style="width: 50px">Period</th>
        <th class="modalTable" style="width: 85px">Additional details</th>
        <th class="modalTable" style="width: 55px">Frequency</th>
        <th class="modalTable" style="width: 45px">Time frame</th>
        <th class="modalTable" style="width: 25px">Time</th>
        <th class="modalTable">Recipient(s)</th>
    </tr>
    <tr>
        <td name="modalPeriod" class="modalTable"></td>
        <td name="modalSpecParams" class="modalTable"></td>
        <td name="modalFreq" class="modalTable"></td>
        <td name="modalTimeFrame" class="modalTable"></td>
        <td name="modalTime" class="modalTable"></td>
        <td name="modalRecipients" class="modalTable" style="word-wrap: break-word"></td>
    </tr>
</table>

最佳答案

该死的。当我点击提交时,使用下面的代码立即得到了答案

for (var i = 0; i < deleteRunData.recipient.length; i++) {
    $('td[name=modalRecipients]').append('<div>' + deleteRunData.recipient[i] + '</div>');
}

关于javascript - 在一个 td 中显示数组项,每个项在新行中显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57891164/

相关文章:

javascript - 帮助对可排序表中的行进行颜色交替

javascript - 在 AJAX 和 Rails 中定义路线

java - 表单提交时调用ajax后不显示成功页面

javascript - 如何区分 'real' 和 'virtual' onpopstate 事件

javascript - 使用 JQuery 或 Javascript,如何绑定(bind)点击函数来控制元素/div 的滚动?

javascript - 根据虚拟代理的随机选择产生不同结果的函数

php - 自动更新网页内容

javascript - sap.tnt.sidenavigation 如何获取SAPUI5中导航列表项是隐藏还是显示?

javascript - 如何检测 HTML 元素的类何时更改?

加载 ajax 内容时未加载 JavaScript