2017-07-03 28 views
2

我有一个按钮。当用户点击“添加更多”时,会添加另一个输入字段,最大值为10.如何获取这些输入字段中的每一个的值并将其放入提交的字符串数组中?使多个输入字段的值与字符串数组的值相同

<div class="input_fields_wrap"> 

     <div class ="delivery-num-container"> 
     <button class="add_field_button btn btn-info btn-sm">Add More Numbers</button> 
     <input type="text" name="delivery_number" value="{{admissions.delivery_number}}" class="form-control delivery-num-input" required pattern="[0-9]+" placeholder="ex(1524587....)"></div> 
</div> 

JQ代码

var max_fields  = 10; //maximum input boxes allowed 
var wrapper   = $(".input_fields_wrap"); //Fields wrapper 
var add_button  = $(".add_field_button"); //Add button ID 

var x = 1; //initlal text box count 
$(add_button).click(
    function(e) { //on add input button click 
     e.preventDefault(); 
     if(x < max_fields){ //max input box allowed 
      x++; //text box increment 
     $(wrapper).append('<div class="delivery-num-input"><input type="text" name="delivery_number" class="form-control delivery_number_plus"/><a href="#" class="remove_field btn btn-sm btn-danger">Remove</a></div>'); //add input box 
     } 
    } 
); 

$(wrapper).on("click",".remove_field", //user click on remove text 
    function(e) { 
     e.preventDefault(); 
     $(this).parent('div').remove(); 
     x--; 
    } 
); 

回答

0

可以创建一个数组,循环所有的输入,然后追加它们到新创建的阵列(即push):

var array = []; 
wrapper.find('input').each(function(){ 
    array.push($(this).val()) 
}) 
+0

我想这里会推动价值,即使空的不是吗? –

+0

然后只是检查它,如果它不是空的然后只推它到阵列。 –

0

您可以通过标签和名称进行查询,这样您可以更具体地查看哪些字段可以使用的示例函数:

function getValues(){ 

    var sample = []; 
    $('input[name=delivery_number]').each(function(idx){ 
     sample.push($(this).val()); 
    }); 
    console.log(JSON.stringify(sample)); 
    return sample; 
}