在textarea中的Jquery读数组

时间:2012-12-12 09:33:54

标签: jquery arrays string textarea eval

我需要能够在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';

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

1 个答案:

答案 0 :(得分:1)

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

所以给这样的textarea:

<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


更新:
现在,基于您的上一条评论,您似乎需要的是eval()函数来执行您在textarea中的javascript代码,如下所示:

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

见工作demo