Динамическое создание строки таблицы при успешном выполнении AJAX

Что я хотел бы сделать, так это :, когда пользователь нажимает кнопку «Отправить», я хочу, чтобы данные отображались в<tr/>(с каждым полем, вложенным в свое собственное<td/>).

Я уже написал скрипт, который на самом деле это делает, но система пока не динамическая.

HTML:

<form name="contact" method="post" action="">
    <p>
        <label for="name">Name</label>
        <input type="text" name="name" id="name" />
    </p>
    <p>
        <label for="age">Age</label>
        <input type="text" name="age" id="age" />
    </p>
    <p>
        <label for="mail">Mail</label>
        <input type="text" name="mail" id="mail" />
    </p>
    <p>
        <input type="submit" name="submit" id="submit" value="Send" />
    </p>
</form>
<table id="results"></table>

Дж.С.:

$(function() {
    $("#submit").click(function() {

        var name = $("input#name").val();
        var age = $("input#age").val();
        var mail = $("input#mail").val();

        var dataString = [name, age, mail];
        var n = dataString.length;

        $.ajax({
            type: "POST",
            url: "process.php",
            data: dataString,
            success: function() {
                $('#results').append(
                    $('<tr>')
                       .append($('<td>').append(dataString[0]))
                       .append($('<td>').append(dataString[1]))
                       .append($('<td>').append(dataString[2]))
                );
            }
        });
        return false;
    });
})

Как видите, я захватываю поля вручную с помощью dataString[x], но как мне сделать эту систему динамической ?

Я думал об использовании цикла, подобного следующему, но не могу заставить его работать:

for(var i = 0; i < n; i++){
    row += "$('<td>').append("+dataString[i]+")";
}

$('#results').append(
    $('<tr>')
       .append(row)
);

Любая подсказка о том, как это сделать? Или у вас есть более чистое решение?

5
задан Brian Tompsett - 汤莱恩 17 January 2018 в 12:26
поделиться