jQuery矩阵输入值

时间:2013-06-18 21:40:56

标签: javascript jquery

我有一个输入,我想放置一些像[[2,4,2]]的值(制作乘法矩阵)。现在我想读取值但不是“[[2,4,2]]”。有没有办法做到这一点?

<body>
    <div id="main">
        <form>
            <input type="text" id="first"/>
            <label  for="first">example [ [2, 4, 2] ]</label>
            <input type="text" id="second"/>
            <select id="select">
                <option value="add">Add</option>
            </select>
            <textarea></textarea>
        </form>
    </div>

<script type="text/javascript">
$( document ).ready(function() {
    var select = $('#select');

     function multiplyMatrix(m1, m2) {
        var result = [];
        for(var j = 0; j < m2.length; j++) {
            result[j] = [];
            for(var k = 0; k < m1[0].length; k++) {
                var sum = 0;
                for(var i = 0; i < m1.length; i++) {
                    sum += m1[i][k] * m2[j][i];
                }
                result[j].push(sum);
            }
        }
        return result;
    }
    select.change(function(){
        var 
            m1 = $('#first').val(),
            m2 = $('#second').val();
            multiplyMatrix(m1, m2);
            console.log(multiplyMatrix(m1, m2));
    });

});
</script>

1 个答案:

答案 0 :(得分:1)

您希望使用JSON.parseString对象解析为有效的JavaScript对象(案例中为array array。)

当你从html节点获取值时,你只需要解析它们。

var m1 = JSON.parse($('#first').val()),
    m2 = JSON.parse($('#first').val());

您可能希望事先验证值的格式或将其放在try {} catch (e) {}块内,因为如果值无效JSON,它将生成错误。