2015-06-01 91 views
2

我有表格/表格,其中的長度是動態的(用戶可以添加/刪除行)。我想創建一個數組onsubmit,其中包含用戶輸入的值,並使用console.log來顯示數組值和數組長度。根據用戶輸入的輸入創建數組

HTML

<div class="container"> 
    <form id="online1" action="#"> 
    <table class="table" id="tblData"> 
     <thead> 
      <tr> 
       <th>Youtube ID</th> 
       <th>Add/Delete</th> 
      </tr> 
     </thead> 
     <tbody> 
      <tr> 
       <td> 
        <input type="text" class="form-control song-input" placeholder="5YCcad6hklE" /> 
       </td> 
       <td> 
        <button type="button" class="btn btn-default btn-add">Add</button> 
       </td> 
      </tr> 
      <tr> 
       <td> 
        <input type="text" class="form-control" placeholder="t6Lr8ggJWi4" /> 
       </td> 
       <td> 
        <button type="button" class="btn btn-danger btn-del">Del</button> 
       </td> 
      </tr> 
      <tr> 
       <td> 
        <input type="text" class="form-control" placeholder="YmzfaapaPMA" /> 
       </td> 
       <td> 
        <button type="button" class="btn btn-danger btn-del">Del</button> 
       </td> 
      </tr> 
     </tbody> 
    </table> 
    <button type="button" class="btn btn-primary">Submit</button> 
    </form> 

jQuery的

jQuery(".btn-primary").click(function(){ 


var values = []; 
$('.yt-mix').each(function() { 
    values[this.name] = this.value; 
}); 
    var mix_size = values.length; 
    console.log(values); // "5YCcad6hklE", "t6Lr8ggJWi4", "YmzfaapaPMA" 
    console.log(mix_size); // 3 rows 
}); 

這個小提琴工作http://jsfiddle.net/1jmjdxLL/

+0

'警報($( 「#tblData TBODY TR」)的長度。)' –

回答

4

您可以使用each遍歷所有文本框。 :text僞選擇器選擇所有文本框。

$(document).ready(function() { 
    $(document).on('click', '.btn-primary', function() { 
     var values = []; 
     $('#tblData :text').each(function() { 
      if ($(this).val()) { 
       values.push($(this).val()); 
      } 
     }); 

     console.log(values); 
     console.log(values.length); 
    }); 
}); 

演示:https://jsfiddle.net/tusharj/1jmjdxLL/1/

+0

謝謝,只需要在'.btn-primary'然而按下它開火:) – abracassabra

+0

@LordTubington你走了。更新了答案 – Tushar

2
$(".btn-primary").click(function(){ 

    var values = []; 
    $('#tblData input').each(function() { 
     values.push($(this).val()); 
    }); 
    var mix_size = values.length; 
    console.log(values); // "5YCcad6hklE", "t6Lr8ggJWi4", "YmzfaapaPMA" 
    console.log(mix_size); // 3 rows 
});