Поэтому я просматриваю html таблицы так:
jQuery('#result_'+formId+' tr').each(function() {
pHtml += '<tr>';
pHtml += jQuery(this).html();
pHtml += '</tr>';
});
и если я console.log это возвращает:
<tr>
<td></td>
<td><label for="CashTotal_8">Cash Total:</label></td>
<td><label for="AverageRate_8">Average Rate:</label></td>
<td><label for="CashMonthTotal_8">Cash Per Month Total:</label></td>
</tr>
<tr>
<td><label>Total:</label></td>
<td><input class="form-control validate-num" id="CashTotal_8" placeholder="0.00" disabled="disabled" type="text"></td>
<td><input class="form-control validate-num" id="AverageRate_8" placeholder="0.00" disabled="disabled" type="text"></td>
<td><input class="form-control validate-num" id="CashMonthTotal_8" placeholder="0.00" disabled="disabled" type="text"></td>
</tr>
который является идеальным, но мне нужно, чтобы некоторые из них заменили все входы текущими значениями.
Это вообще возможно?
Если вы хотите, чтобы таблица html со вставками заменялась их значением, попробуйте что-то вроде,
var pHtml=$('#result_'+formId).clone().find("input").replaceWith(function()
{
return $("<span></span>").text($(this).val());
}).end().html();
или если вы хотите создать tr
вручную с помощью своего кода,
jQuery('table tr').each(function() {
pHtml += '<tr>';
pHtml += jQuery(this).clone()
.find("input")
.replaceWith(function(){
return $(this).val();
}).end().html();
pHtml += '</tr>';
});
или в случае, если вы хотите, чтобы он был заменен в документе, пойдите с этим,
$('#result_'+formId+' input').replaceWith(function()
{
return $("<span></span>").text($(this).val());
});
Выше кода предполагает, что '#result_'+formId
является идентификатором <table>
Я считаю, что функция поиска - это то, что вы ищете:
jQuery('#result_'+formId+' tr').each(function() {
pHtml += '<tr>';
var child = jquery(this).find('input');
if (child.val()) {
var current = child.html();
var newText = jQuery(this).html().replace(current, child.val());
pHtml += newText;
}
else {
pHtml += jQuery(this).html();
}
pHtml += '</tr>';
});
$('#result_'+formId+' tr').each(function() {
$(this).children('td').each(function(){
if($(this).children('input').length>0){
var value=$(this).children('input').val();
$(this).empty().html(value)
}
})
});
Является ли <input>
всегда единственной вещью в <td>
? Если это так, вы можете просто установить HTML родительского элемента <input>
(который является <td>
) в качестве значения <input>
. Что-то вроде этого:
$("input").each(function () {
$(this).parent().html($(this).val());
});
pHtml
?