2017-08-02 40 views
0

我有一个函数返回一行的值,但我不能将它们分开,并将它们放入不同的参数中。如何获得一行的数据,如果复选框被选中

function guardarImpuestos() { 
    $('input[type=checkbox]').each(function() { 
    if ($(this).is(':checked')) { 
     //test 
     console.log($(this).closest("tr").children("td").get()[0]); 
     console.log($(this).closest("tr").children("td").get()[1]); 
     console.log($(this).closest("tr").children("td").get()[2]); 
     //end test 
     var $row = $(this).closest('tr'); 
     $('td', $row).each(function(i) { 
     var abc = $(this).text(); 
     console.log(abc); 
     }) 
     var parametros = { 
     "cuit": $("#cuit").val(), 
     "impuesto": i need the first val here, 
     "concepto": and second here 
     }; 
     $.ajax({ 
     data: parametros, 
     url: 'api/insertar_impuestos.php', 
     type: 'post', 
     success: function(response) { 
      alert("Impuesto agregado."); 
     } 
     }); 
    } 
    }); 
} 

回答

1

你也可以遍历该行中的每个元素<td>,并把从每一个文本到一个数组。然后,你可以使用数组符号values[0]

function guardarImpuestos() { 

$('input[type=checkbox]:checked').each(function() { 

    var $row = $(this).closest('tr'); 
    var values = []; 

    $('td', $row).each(function(i){ 
     values.push($(this).text()); 
    }) 
    var parametros = { 

    "cuit" : $("#cuit").val(), 
    "impuesto" : values[0], 
    "concepto" : values[1] 
    }; 

    $.ajax({ 

     data: parametros, 
     url: 'api/insertar_impuestos.php', 
     type: 'post', 
     success: function (response) { 
       alert("Impuesto agregado."); 
     } 

    }); 

}); 

} 

的另一种方法去做访问这些文本元素,如果你有少量细胞,确定的数量,是跳过$('td',$row).each(功能,只是这样做:

... 
var parametros = { 
    "cuit" : $("#cuit").val(), 
    "impuesto": $('td',$row).eq(0).text(), 
    "concepto": $('td',$row).eq(1).text() 
} 
... 
+0

完善,解决 –

+0

你能解释一下什么是错的,你是如何解决它,所以大家不必做一个代码比较了解? – Barmar

+0

@Barmar良好的通话,更新。谢谢。 – JakeParis

相关问题