所以我循环遍历表格的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>
这是完美的,但我需要一些如何用当前值替换所有输入。
这一切都可能吗?
答案 0 :(得分:1)
如果您希望表格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>
答案 1 :(得分:0)
$('#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)
}
})
});
答案 2 :(得分:0)
我相信你正在寻找的是find函数:
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>';
});
答案 3 :(得分:-1)
<input>
中的<td>
始终是唯一的东西吗?如果是这样,您只需将<input>
的父级(即<td>
)的HTML设置为<input>
的值即可。像这样:
$("input").each(function () {
$(this).parent().html($(this).val());
});