Как получить пары {id: value} и эффективно скопировать их в другую таблицу с такой же структурой из таблицы ниже с помощью jQuery? - PullRequest
0 голосов
/ 31 августа 2009
<table id="experiences" cellpadding="0" border="1" width="100%" height="100%">

<tr><th>Company</th><th>Job Title</th><th>Industry</th><th>Job Function</th><th>Start Date</th><th>End Date</th></tr>
<tr>
    <td><input type="text" name="company1" class="w100" /></td><td><input type="text" name="jobTitle1" class="w100" value="" /></td><td><input type="text" name="industry1" class="w100" value="" /></td><td><input type="text" name="jobFunction1" class="w100" /></td><td><input type="text" name="startDateJob1" class="w100" /></td><td><input type="text" name="endDateJob1" class="w100" /></td>
</tr>
<tr>
    <td><input type="text" name="company2" class="w100" /></td><td><input type="text" name="jobTitle2" class="w100" /></td><td><input type="text" name="industry2" class="w100" /></td><td><input type="text" name="jobFunction2" class="w100" /></td><td><input type="text" name="startDateJob2" class="w100" /></td><td><input type="text" name="endDateJob2" class="w100" /></td>
</tr>
<tr>
    <td><input type="text" name="company3" class="w100" /></td><td><input type="text" name="jobTitle3" class="w100" /></td><td><input type="text" name="industry3" class="w100" /></td><td><input type="text" name="jobFunction3" class="w100" /></td><td><input type="text" name="startDateJob3" class="w100" /></td><td><input type="text" name="endDateJob3" class="w100" /></td>
</tr>
<tr>
    <td><input type="text" name="company4" class="w100" /></td><td><input type="text" name="jobTitle4" class="w100" /></td><td><input type="text" name="industry4" class="w100" /></td><td><input type="text" name="jobFunction4" class="w100" /></td><td><input type="text" name="startDateJob4" class="w100" /></td><td><input type="text" name="endDateJob4" class="w100" /></td>
</tr>

</table>

Вот другая таблица:

<table id="experiences-mirror" cellpadding="0" border="1" width="100%" height="100%">
     <tr><th>Company</th><th>Job Title</th><th>Industry</th><th>Job Function</th><th>Start Date</th><th>End Date</th></tr>
    <tr>
        <td></td><td></td><td></td><td></td><td></td><td></td>
    </tr>
    <tr>
        <td></td><td></td><td></td><td></td><td></td><td></td>
    </tr>
    <tr>
        <td></td><td></td><td></td><td></td><td></td><td></td>
    </tr>
    <tr>
        <td></td><td></td><td></td><td></td><td></td><td></td>
    </tr>
</table>

Ответы [ 2 ]

1 голос
/ 31 августа 2009
var obj = {};
$('#experiences input').each(function () {
    obj[$(this).attr('name')] = $(this).val();
});

Что касается копирования значений, это должно работать.

// clone original table
var tab = $('#experiences').clone();

// change the id
tab.attr('id', 'experiences-mirror');

// replace inputs with corresponding values
tab.find('input').each(function() {
    var elem = $(this);
    elem.remove();
    elem.parent().text(elem.val());
});

// replace empty tab with filled one
$('#experiences-mirror').replaceWith(tab);
0 голосов
/ 31 августа 2009

Один из вариантов - клонировать таблицу?

Ниже клонируется таблица, изменяется идентификатор и добавляется к некоторому контейнеру

$('#experiences').clone()
                 .attr('id', 'experiences-mirror')
                 .appendTo('#someContainer');

См. Справку клон в документации jquery

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...