将用户输入矩阵读取到二维数组

时间:2014-11-18 00:26:00

标签: javascript

我用这样的矩阵创建一个表单:

for(var i = 0; i < rows; i++)
            {
                for(var j = 0; j < columns; j++)
                {
                    var input = $('<input>')
                        .attr({
                            class: 'matrix_cell',
                            value: 0});
                    form.appendChild(input[0]);
                }
                var br = $('<br>')[0];
                form.appendChild(br);
            }

我想读取一个用户输入到二维数组的矩阵,然后将其传递给ajax查询中的php文件。

我试过这种方式:

function getMatrix(){
        var matrix_row = []

        $("#matrix_form").find("input").each(function(i){
            var value = $(this).val();
            if (!isNaN(value)){
                matrix_row[i] = value;
            }
        });

        return matrix_row;
    }

但它将矩阵读取到一维数组。

1 个答案:

答案 0 :(得分:0)

请参阅http://jsfiddle.net/hcbLozd7/

function getMatrix(){
    var matrix_row = [];

    var ind = 0;

    $("#frm").contents().each(function(i,e){ //for all contents in div
        if (this.nodeName == "INPUT") //if it's input
        {
            if (!matrix_row[ind]){  //it matrix doesn't have a new array, push a new array
                matrix_row.push([]);
            }
             matrix_row[ind].push($(this).val()); //add input value to array inside array
        }
        else{ //when element is br
            ind++;  //increment counter
        }
    });

    return matrix_row;
}