如何使用动态创建的字段和变量创建多维数组

时间:2011-01-18 21:47:04

标签: php javascript jquery

这是我的网址:http://iadprint.com/products?product=business%20card

您在此页面上看到的字段都是在后端动态创建的。我决定使用创建为变量的字段名来显示价格,如下面的js所示。我有两个问题,一个是当页面刷新时,定价div值清除并且选择不会停留,第二个是我无法弄清楚如何将所选项目添加到购物车页面的数组中。

对于第一个问题,我认为最好将每个选择放入数组形式的cookie中,并在刷新时拉出数据并选择所需的字段。除非有另一种方式。

这就是我猜测数组的样子

$products = array("product" => "business_card", array("ProdID" => "1"), ("ProdID" => "2") ..and so on)

基本上我只会添加长度大于零的字段,以便我知道它已被选中。我的问题是格式化数组的正确方法是什么?有没有办法我可以在javascript中使用array_push在每次发生选择更改时推送新元素?

至于问题二,我希望一旦用正确的数据创建cookie就会很容易猜测。

2 个答案:

答案 0 :(得分:0)

最好的方法是,在javascript中处理选择的imo是使用表单上的对象

{<id1>: true, <id2>:true, etc.}

这样做的原因是检查是否选择了某些内容非常快,如果需要,可以很容易地将其转换为数组(只需提取密钥)。

使用数组跟踪选择意味着每次需要检查是否选择了某些内容时,您必须遍历该数组。

答案 1 :(得分:0)

  

对于我认为的第一个问题   最好将每个选择放入一个   cookie以数组形式和刷新   拉出数据并选择   需要的领域。除非有另一个   方式。

您可以使用AJAX和PHP会话变量。在选择更改时,您通过AJAX将选择发送到PHP页面,该页面设置一些会话数据。页面加载时,您使用会话数据来设置所选字段。

  

有没有办法可以做array_push   的JavaScript

var arr = [];
arr.push(obj1);

有关push和其他js数组方法的更多信息:http://www.javascriptkit.com/jsref/arrays.shtml