2015-07-03 103 views
0

我有这样的JavaScript代码来创建和动态地在我的asp.net Web窗体添加HTML:添加HTML输入动态jQuery和asp.net

var i = 0; 
    function agregaCampos() { 
     i++; 
     var cantidad = '<td class="auto-style2"><input type="text" size="3" name="cantidad' + i + '" /></td>'; 
     var codigo = '<td class="auto-style3"><input type="text" size="5" name="codigo' + i + '" /></td>'; 
     var umedida = '<td class="auto-style4"><select class="dropdown1" name="umedida' + i + '"><option value="PIEZA">PIEZA</option></select></td>'; 
     var descripcion = '<td class="auto-style5"><input type="text" size="70" name="cantidad' + i + '" /></td>'; 
     var punitario = '<td class="auto-style6"><input type="text" size="12" name="punitario' + i + '" /></td>'; 
     var importe = '<td class="auto-style7"><input type="text" size="12" name="importe' + i + '" /></td>'; 
     $("#conceptos").append("<tr>"); 
     $("#conceptos").append(cantidad); 
     $("#conceptos").append(codigo); 
     $("#conceptos").append(umedida); 
     $("#conceptos").append(descripcion); 
     $("#conceptos").append(punitario); 
     $("#conceptos").append(importe); 
     $("#conceptos").append("</tr>"); 
    } 

我想这个表的结束标记前添加控件:

<div id="conceptos"> 
     <table class="factura"> 
      <tr> 
       <th class="auto-style2">Cantidad</th> 
       <th class="auto-style3">Código</th> 
       <th class="auto-style4">U. de médida</th> 
       <th class="auto-style5">Descripción</th> 
       <th class="auto-style6">Precio Unitario</th> 
       <th class="auto-style7">Importe</th> 
      </tr> 

       <----- Here 

     </table> 
    </div> 

任何消化如何做到这一点?

+2

DOM不是HTML的字符串。您可以添加整个元素(或者如果您愿意,可以完整填入HTML块),而不是单独打开和关闭标签。 – 2015-07-03 21:30:08

+0

您想要订购行或隐藏与您的过滤器不匹配的行吗? – Beauceron

回答

0

您正在将代码附加到名为“conceptos”的div。相反,您应该将代码附加到表格中。您可以将您的jQuery选择器更改为$(“。factura tr”)。这将从您的表中选择所有TR。

需要指出的是,如果您有多个具有相同类的表,选择器将应用于所有这些表。在这种情况下,您可以将ID归入您的表格。

为了获得表格的第二行(TR),您可以使用选择器“eq”来选择索引。

所以你的代码会是这样的。

$(".factura tr:eq(1)").append(cantidad); 
    ... 

此外,正如评论中指出的那样,您的TR应该是DOM元素,而不是打开和关闭标记。

您可以首先向您的TABLE添加一个新的TR,然后将上面的索引更改为“2”而不是1,以便选择要添加的新TR。

我希望是帮助。

0

您可以使用jQuery与下面的代码

var tr="<tr>YOUR DATA WITH TDs</tr>"; 
$(".factura").append(tr); 

此代码将随时添加新的数据(TR),以现有的表。