Actualmente estoy aprendiendo JS y trabajando en la creación de una factura HTML. Quiero tomar valores de tres áreas de texto que se ingresan y luego agregarlas al final de mi tabla (el total se calcula automáticamente cuya función funciona bien). Actualmente he agregado campos en blanco usando

$("#addrow").click(function(){
    $(".item-row:last").after('<tr class="item-row"><td class="item-name"><div class="delete-wpr"><textarea>Item Name</textarea><a class="delete" href="javascript:;" title="Remove row">X</a></div></td><td><textarea class="cost">0</textarea></td><td><textarea class="qty">0</textarea></td><td><span class="price">0</span></td></tr>');

Pero no sé cómo obtener los tres valores que ingreso que se agregan a la tabla cuando hago clic en Agregar

Imagen de tabla con campos vacíos agregados

-3
whatiscode 26 feb. 2018 a las 09:52

3 respuestas

La mejor respuesta

Debe obtener el valor de las entradas y luego concatenarlas en su anexo.

Prueba esto:

$("#addrow").click(function(){
var itemName = $('#add-description').val();
var itemHours = $('#add-hours').val();
var itemRate = $('#add-rate').val();

$(".item-row:last").after('<tr class="item-row"><td class="item-name"><div class="delete-wpr"><textarea id="new-description">'+itemName+'</textarea><a class="delete" href="javascript:;" title="Remove row">X</a></div></td><td><textarea class="cost">'+itemHours+'</textarea></td><td><textarea class="qty">'+itemRate+'</textarea></td><td><span class="price">0</span></td></tr>');
if ($(".delete").length > 0) $(".delete").show();
bind();});

Ejemplo: CodePen

0
minijavi19 26 feb. 2018 a las 15:56

Puede usar este código para su requerimiento

**var taskdescription = document.getElementById('taskdescription').value;
var hours = document.getElementById('hours').value;
var rate = document.getElementById('rate').value;
var amount = document.getElementById('amount').value;



var table = document.getElementById('table');
var tr = document.createElement("tr");
var td = document.createElement("td");
var txt = document.createTextNode(taskdescription);
    td.appendChild(txt);

var td1 = document.createElement("td");
var txt1 = document.createTextNode(hours);
    td1.appendChild(txt1);

var td2 = document.createElement("td");
var txt2 = document.createTextNode(rate);
    td2.appendChild(txt2);

var td3 = document.createElement("td");
var txt3 = document.createTextNode(amount);
    td3.appendChild(txt3);

tr.appendChild(td);
tr.appendChild(td1);
tr.appendChild(td2);
tr.appendChild(td3);

table.appendChild(tr);**

Esto agregará automáticamente sus datos a la tabla

0
PhpDev 26 feb. 2018 a las 07:14

Puede usar el siguiente código para obtener el texto del área de texto. Obtenga los tres textos de los cuadros de texto y añádalos al td de la tabla

Área de texto:

var bla = $('textarea:input[name=txt_area]').val();

Caja de texto :

var bla = $('#txt_name').val();
0
Ajeet Malviya 26 feb. 2018 a las 07:10