如何使用jquery获取生成的输入字段值

时间:2018-08-13 13:22:44

标签: javascript jquery html

我有一个html表单,在页面加载后,单击按钮时会生成一些输入字段。所有输入都由标签包装。 单击按钮时生成的输入如下所示:

<div class="row t-a t-line" id="1">
  <div class="col-md-1">
   <input class="form-control" type="text" name="cod[]">
  </div>
  <div class="col-md-4">
   <input class="form-control" type="text" name="piesa[]">
  </div>
  <div class="col-md-1">
   <input class="form-control cantitate" type="number" name="cantitate[]" value="1">
  </div>
</div>

下一个将具有ID 2,依此类推。我使用jQuery序列化

var form = $( this ).serialize();

但是,当我在控制台中以var形式登录时,除了动态生成的输入字段之外,所有值都在那里。 有什么想法吗?

提前谢谢!

更新: 是的,表格包装了所有输入字段

js代码:

$( document ).on( "submit","form", function( event ) {
      event.preventDefault();
       var form = $( this ).serialize();
        form += '&action=update&id=<?php echo $id; ?>';
        form += '&serie-produs='+$('#serie-produs').val();
        form += '&Total='+$('#total-cu-TVA').val();
        form += '&TotalFT='+totalFT.toFixed(2);
        form += '&TotalT='+totalT.toFixed(2);

        console.log(form);
        var action = "assets/tickete-controller.php";       
        $.post(action, form, function(data){
                console.log(data);
                //$('.rezultat-filtre').html(data.produsItems);         
                if(data.type == "success"){
                    $("#message").removeClass('alert-danger');
                    $("#message").css('display', 'block');
                    $("#message").addClass('alert-success');
                    $('#rsponse-message').html(data.message);                   
                    $("#message").delay(4000).fadeOut("slow");
                    var link = data.linkPdf;
                    console.log(link);
                    window.open(link, '_blank');                    
                }               
            },'json');
    });

1 个答案:

答案 0 :(得分:-2)

这是因为

var form = $( this ).serialize();

从最初在DOM中的元素中获取所有值。换句话说,您仅通过在开始时加载的HTML对象上使用“ READY”事件来获取这些元素的值。 要从动态添加的元素中获取值,您将必须为其添加事件监听器:

例如

$(document).on(<event_type>, <element_ID_or_other_selector>, function() {
...
<your_implementation>
});

这样,您将能够在指定事件中获取它们的值。

获取其值的另一种方法是使用

$('#your_element_ID').val();

每个动态元素