2015-07-03 4 views
0

У меня есть этот код JavaScript, чтобы создавать и добавлять HTML динамически в моем asp.net веб-формы:Добавить 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, если хотите), а не отдельные открывающие и закрывающие теги. –

+0

Вы хотите заказать строки или скрыть те, которые не соответствуют вашим фильтрам? – Beauceron

ответ

0

Вы добавляете свой код в div под названием «концепт». Вместо этого вы должны добавить код в таблицу. Вы можете изменить селектор jQuery на $ (". Factura tr"). Это выберет все TR из таблицы.

Важно отметить, что если у вас более одной таблицы с тем же классом, селектор будет применяться ко всем из них. В этом случае вы можете привязать идентификатор к своей таблице.

Чтобы получить вторую строку (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) в существующую таблицу.

Смежные вопросы