将值数组传递给jquery的最有效方法是什么

时间:2013-05-06 04:12:18

标签: javascript jquery html

我有像这样的数据列表

DATA((33,54.4445,66.44,77.44))
DATA((33,54.4445,66.44,77.44))
DATA((33,54.4445,66.44,77.44))
DATA((33,54.4445,66.44,77.44))

我必须把它作为我的html页面的标记。 我需要一种方法,我可以从html标记的javascript中读取相同的内容。 我试过 - <input type="hidden" value="DATA((33,54.4445,66.44,77.44)) , DATA((33,54.4445,66.44,77.44)) , DATA((33,54.4445,66.44,77.44))" />

并且,我试图像这样阅读想要的字段 -

$.each(myarray.split(','), function(index, value) { 
      myjavascript_function(value)
    });

问题 - 使用上述javascript,我无法获取上述数据列表。

问题 - 如何将数据列表放入标记中,以便能够将javascript/jQuery中的数据列表作为Array或{{{ 1}}或任何其他格式?

2 个答案:

答案 0 :(得分:1)

你也可以像value="{'data':['DATA((33,54.4445,66.44,77.44))' , 'DATA((33,54.4445,66.44,77.44))' , 'DATA((33,54.4445,66.44,77.44))']}"一样尝试html attribute并在javascript中获取

var myPlainObject = JSON.parse($("someSelector").attr("value"));

此处,myPlainObject将是plain object

var mayArray = myPlainObject .data;

你是正确的,我们在html attr中提供的格式不会成为wat(在这种情况下它会以String形式出现)所以,必须使用JSON.parse()来获取plain object中的String

答案 1 :(得分:0)

最有效的方法是JSON。您的数据可以像这样构建,可以很容易地打印到服务页面上的变量,或者从AJAX调用返回,然后您可以解析:

[
  [33,54.4445,66.44,77.44],
  [33,54.4445,66.44,77.44],
  [33,54.4445,66.44,77.44],
  [33,54.4445,66.44,77.44]
]