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

Read user input matrix to twodimensional array

本文关键字:读取 二维数组 用户 输入      更新时间:2023-09-26

>我用矩阵创建一个表单,如下所示:

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;
    }

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

请参阅 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;
}