【问题标题】:Jquery reading array in textarea文本区域中的 Jquery 读取数组
【发布时间】:2012-12-12 09:33:54
【问题描述】:

我需要能够在 textarea 中粘贴类似这样的内容:

var cars = new Array(new Array(3), new Array(3));
cars[0][0] = 'FORD';
cars[0][1] = 'Focus';
cars[0][2] = 'Mondeo';
cars[1][0] = 'VOLKSWAGEN';
cars[1][1] = 'Golf';
cars[1][2] = 'Polo';
cars[1][3] = 'Lupo';

之后能够从我的脚本中访问汽车数组作为公共变量。 一直在尝试评估,但在谷歌搜索之后我真的很害怕。 有人可以帮帮我吗?

【问题讨论】:

    标签: jquery arrays string textarea eval


    【解决方案1】:

    您可以使用 jquery .data() 方法将任意数据附加到任何 html 元素。

    所以给定一个像这样的文本区域:

    <textarea id="txa"></textarea>
    

    从 jquery 你可以这样做:

    var cars = new Array(new Array(3), new Array(3));
    cars[0][0] = 'FORD';
    ...
    $('#txa').data('myvar', cars);
    

    然后稍后使用:

    var arr = $('#txa').data('myvar');
    alert( arr[0][0] ); //alerts FORD
    


    更新:
    现在,根据您最后的 cmets,您似乎只需要 eval() 函数来执行您在 textarea 中的 javascript 代码,如下所示:

    code = $('textarea').val();
    eval( code );
    alert( arr[0][0] ); //alerts FORD
    

    查看工作demo

    【讨论】:

    • 听起来很有趣,我去看看!
    • 您好,恐怕我解释得不好。不幸的是,我目前拥有的是一些来自不同外部来源的纯文本,具有不同的数组声明,我需要一种方法将它们粘贴到文本区域并将其作为内部变量提供。
    • 试图更好地解释它,因为我正在阅读自己并且我无法理解我:我需要能够将粘贴在表单中的文本区域内的 javascript 数组声明转换为可以使用的真实数组。
    • 好的,根据您上次的说明,我已经用一个示例更新了我的答案,以通过使用 eval() 来实现您想要的。
    • 如果这最终解决了您的问题,请记住接受答案并投票,我希望如此:-)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-29
    • 1970-01-01
    • 1970-01-01
    • 2011-01-25
    • 2011-05-10
    • 1970-01-01
    相关资源
    最近更新 更多