0

我有一个将数据发布到脚本并更新数据库的函数,但脚本使用 for 循环来增加一个数字,并且该数字被插入到脚本上的变量名中。这样做的原因是我正在提取未知数量的数据,并且我需要唯一标识单元格。

所以我遇到的问题涉及一个函数并且想要修改 post 变量,以便脚本可以在循环中检查它们。

前任。

function test(test_name, test_id, cell_num, type)
  {
     if (type == "Test") {
         var test_name = $("#test_"+cell_num+"_name").val();
         $.post('test.php', { cell_num: cell_num, 'test_'+cell_num+'_name': test_name });
     }
  }

你会注意到 'test'+cell_num+'_name': test_name 的格式不正确。我正在尝试做的是在我的脚本逐步循环这些名称时引入一个变量变量名称。

更新:

     var test_name = $("#test_"+cell_num+"_name").val();
     var params = {};
     params['cell_'+cell_num] = cell_num;
     params['test_'+cell_num+'_name'] = test_name;
     $.post('test.php', params);

我无法通过使用访问 test.php 上的参数中的数据

test_name = $_POST['test_1_name'];
cell = $_POST['cell_1'];

似乎 params 是在传递值而不是变量。

4

2 回答 2

1

你可以这样做

function test(test_name, test_id, cell_num, type)
  {
     if (type == "Test") {
         var test_name = $("#test_"+cell_num+"_name").val();
         var params = {cell_num: cell_num};
         params['test_'+cell_num+'_name'] = test_name;
         $.post('test.php', params);
     }
  }

定义 json 对象时,不能动态定义键名。因此,当您需要动态键时,将其视为数组,它将解决您的问题。

于 2013-10-26T17:31:11.240 回答
0

我决定使用标准帖子并放弃使用动态变量,因为它会造成很多不必要的压力。它被用于库存系统,因此您可以修改单个字段,并且一旦单击离开单个单元格就会更新数据库。

我试图减少数据库的流量,但这太麻烦了。

于 2013-10-30T15:43:27.500 回答