从输入到数组获取数据

时间:2012-02-28 13:59:44

标签: javascript jquery html each

<h2><a href="#" id="addScnt">Add Another Input Box</a></h2>

<div id="p_scents">
    <p>
        <label for="p_scnts"><input type="text" id="p_scnt" size="20" name="p_scnt" value="" placeholder="Input Value" /> <input type="checkbox" id="c_scnt" name="c_scnt" class="show"> <input type="text" id="more" name="more" class="hide"> </label>
    </p>
</div>

<span id="getall">Get all</span>

所有代码:http://jsfiddle.net/tZPg4/1420/

可以点击获取全部并获取所有输入的所有数据,然后使用循环每个输入并获取数据: this.one (第一个输入(文本)),这个。两个(第二个输入(复选框)), this.three (第三个输入 - 隐藏)?例如:

$("#getall").click(function(){

        //here get all data to array, but how?

        array.each(function(i){
           var html = $("<tr><td>this.one</td><td>this.two</td><td>this.three</td></tr>").appendTo("#myTable");
        });

    })

LIVE: http://jsfiddle.net/tZPg4/1420/

2 个答案:

答案 0 :(得分:1)

这样的事情应该有用吗?

$("#getall").click(function(){
      var myRow = document.createElement("tr");

      var array = new Array()
      $.each($("#p_scents").find("p"), function(ind, elem) {
          var inputCol = new Array();
          console.log("Adding row");
          $.each($(elem).find("input"), function(ind2, inputElem) {
              if ($(inputElem).attr("type") != "checkbox") {
                 inputCol [inputCol .length] = $(inputElem).val();                  
              }
              else {
                  inputCol [inputCol .length] = $(inputElem).is(":checked");
              }
          });
          array[array.length] = inputCol;
      });
        console.log("Outputting results");
        for (var i in array) {
            console.log("Row: "+i);
            for (var j in array[i]) {
               console.log("Input: "+j + " == " + array[i][j]);         
            }                    
        }

    });

答案 1 :(得分:0)

var arr = new Array();

$( 'input' ).each(function(index)
{
    arr[arr.length] = $(this).val();
})