Con este codigo, hago eso que pides y algo mas.
Ahora es cuestion de que pruebes y hagas los cambios pertinentes.
Tambien hay algunos fallos, ya que estaba preparado para otra cosa, ademas asi me aseguro que estudias el codigo
Código HTML:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Pagina nueva 1</title>
</head>
<body>
<style>
.even{background-color: Lavender}
</style>
<script language="javascript" type="text/javascript">
function cambia_estado( fila , campo)
{
var estado=fila.checked;
estado= (estado) ? 'on' : '';
var td = fila.parentNode;
for(a=0;a<td.childNodes.length;a++)
{
var objeto = td.childNodes.item(a);
if(objeto.name==campo)
{
objeto.value=estado;
}
}
}
function mueve( el, x )
{
while ( el.parentNode && 'tr' != el.nodeName.toLowerCase() )
{
el = el.parentNode;
}
var inicial=el.rowIndex;
var destino=inicial + x;
var t = el.parentNode;
var i = el.rowIndex + x;
if (i==-1 || i== t.rows.length) { return; }
var filadestino=document.getElementById(t.id);
if (filadestino.rows[destino].id != 'fila') { return; }
var destino=el
t.removeChild(el);
var nRow = t.insertRow( i );
t.replaceChild(el, nRow);
}
function mas( el )
{
while ( el.parentNode && 'tr' != el.nodeName.toLowerCase() )
{
el = el.parentNode;
}
var t = el.parentNode;
var i = el.rowIndex ;
if (i== t.rows.length)
{
i = t.rows.length;
}
else
{
i = el.rowIndex+1;
}
var copia=el.cloneNode(true);
var inputs=copia.getElementsByTagName('input');
var selects=copia.getElementsByTagName('select');
for(a=0;a<inputs.length;a++)
{
inputs[a].value='';
}
for(a=0;a<selects.length;a++)
{
var opciones=selects[a].options;
for (b=0;b<opciones.length;b++)
{
opciones[b].selected=false;
}
}
el.parentNode.appendChild(copia);
}
function borra( el )
{
while ( el.parentNode && 'tr' != el.nodeName.toLowerCase() )
{
el =el.parentNode;
}
var t = el.parentNode;
var i = t.rows.length;
var hay = 0;
for(a=0;a<i;a++)
{
if (t.rows.item(a).id=='fila')
{
hay++;
}
}
if(hay==1) { return false; }
t.removeChild(el);
}
function cambia_estado( fila , campo)
{
var estado=fila.checked;
estado= (estado) ? 'on' : '';
var td = fila.parentNode;
for(a=0;a<td.childNodes.length;a++)
{
var objeto = td.childNodes.item(a);
if(objeto.name==campo)
{
objeto.value=estado;
}
}
}
</script>
<table border='1px'>
<tr id='fila' onmouseover="this.className = 'even'" onmouseout="this.className = ''">
<td style='text-align:center'>
<select class='tbox' name='nombre_campo[]' style='width:210px'></select>
</td>
<td style='text-align:center'>
<input style='padding-left:2px;' class='tbox' name='texto_campo[]' value='' size='41' type='text'>
</td>
<td style='text-align:center'>
<input style='text-align:center' class='tbox' name='ancho_campo[]' value='' size='6' type='text'>
</td>
<td >
<input id='buscar_campo' name='buscar_campo[]' value='' type='hidden' size='1'>
<input class='tbox' ".$checked." type='checkbox' onclick="cambia_estado(this,'buscar_campo[]');">
</td>
<td width='18px'>
<center><img src='images/up.png' title='Subir una posicion' onclick='mueve(this, -1);' name='arriba'></center>
</td>
<td width='18px'>
<center><img src='images/down.png' title='Bajar una posicion' onclick='mueve(this, 1);' name='abajo'></center>
</td>
<td ><center><img src='images/delete_16.png' title='Eliminar Campo' onclick='borra(this);' style='border:none'></center></td>
<td ><center><img src='images/add_16.png' title='Añadir otro Campo' onclick='mas(this);' style='border:none'></center></td>
</tr>
</table>
</body>
</html>
Suerte