将输入值应用于其所有td innerhtml

是否有可能在内部输入时更改所有td的innerhtml,我的意思是获取输入的值并将其应用于它的td innerhtml,例如,这里是表及其输入内部:

123

把它改成这个:

 
test 123

对于所有td和输入值而不应用id和类?! 请注意td innerhtml没有改变:)谢谢大家的帮助! ;)

这很简单。

首先命名您的表(以便轻松找到它)。

 

然后你可以这样做:

 $('#the_table td input[type="text"]').each(function() { var val = $(this).val(); $(this).parent('td').html(val); }); 

现场演示 。

说明:

  1. 查找此特定表中

    内的所有输入。

  2. 对于每个输入:

    2.1从输入中检索值

    2.2找到作为

    标签的输入的第一个父级,并将其innerHTML设置为该值

是的,你可以这样做:

 $('table td:has(:input:only-child)').each(function () { $(this).html($(':input', this).val()); }); 

它假设td只有一个input 。 如果不是这样,那么删除:only-child

table td:has(:input:only-child)说明table td:has(:input:only-child)

它说,取一个table任何td ,它有一个input作为唯一的孩子。

你可以在这里测试一下: http : //jsfiddle.net/eydtw/

更新:获取未hiddeninput

 $('table td:has(input[type!="hidden"])').each(function () { $(this).html($('input[type!="hidden"]', this).val()); }); 

http://jsfiddle.net/eydtw/1/

或:取input text

 $('table td:has(input:text)').each(function () { $(this).html($('input:text', this).val()); }); 

http://jsfiddle.net/eydtw/3/

 $.each($('table td'),function(){ if($(this).children().length !=0) { var temp = $($(this).children()[0]).val(); $(this).html(temp); } })