2015-07-03 150 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),以現有的表。