在Javascript或PHP中获取2d数组键值
Getting 2d array key values in Javascript or PHP?
我有一个表格,其中所有单元格都有一个文本框来编辑单元格数据。现在,我想使用ajax将每个keyup事件的数据保存到表中。我将每个文本框命名为一个2d数组,其中包含2个id,每个键1个id,我想保存在一个表中。
<input type="text" name="txtfield[1][2]" />
现在这些1和2键是id,我想将它们分别保存在表的单独列中。
是否有一个简单的方法来获得这些键值,或者我应该使用一些字符串操作来获得这些值?
给它们命名可能会更容易一些
<input type="text" name="txtfield-1-2" />
然后在PHP中使用
访问它们for (i = 1; i <= m; i++)
for (j = 1; j <= n; j++)
whatever($_POST["txtfield-$i-$j"]); /* or $_GET[...] */
在JavaScript中,你可以这样做
for (i = 1; i <= m; i++)
for (j = 1; j <= n; j++)
whatever(document.getElementById("txtfield-" + i + "-" + $j).value);
我假设它们在某种网格中,所以m
和n
是已知的。如果没有,Ek0nomik的解决方案将更适合您,尽管正则表达式应该是'.*'[([0-9]+)']'[([0-9]+)']
('[
和']
应该在(...)
之外,并且应该添加量词+
以允许大于9的索引),或者更精确一点,^txtfield'[([0-9]+)']'[([0-9]+)']$
。
您可以在Javascript或PHP中获得这些值。只需使用正则表达式:
一个例子(如果需要可以更具体):
/.*('[[0-9]'])('[[0-9]'])/
PHP的例子:preg_match_all('/.*('[[0-9]'])('[[0-9]'])/', 'txtfield[1][2]', $matches, PREG_PATTERN_ORDER);
//Do something with $matches.
我更喜欢使用jQuery,将数据从名称值中分离出来,避免使用正则表达式。
<input type="text" data-apples="some_value" data-oranges="some_value" id="yourID" />
在jQuery: var apples = $('#yourID').data('apples');
相关文章:
- 匹配 2D 数组中的连续值
- 为什么用javascript覆盖2D数组的元素
- 在2D数组中动态推送新列
- 如何在javascript中创建一个空的2d数组?下面是我想要创建的一个示例
- 2D数组在Angular JS 1.2.x中工作,而不是在1.3.x中工作
- node.js上的过程性2d数组mongoDB插入内存不足
- 如何在 javascript 中删除 2d 数组中的行
- TypeError: matrix[y].push 在尝试使用 javascript 创建 2D 数组时不是一个函数
- 练习 2D 数组
- JavaScript 2d 数组导致“无法读取未定义的属性'未定义'”
- 如何在动态生成的 HTML 表中使用 2D 数组在 TD 标签中设置值
- 存储在 2D 数组中的 js 调用函数
- 将 2D 数组从 Code Behind 传递给 JavaScript
- 嵌套的 Jquery 每个 2D 数组错误地重复表单元格
- 如何在 2d 数组中找到 1d 数组
- 2d数组在ajax调用中崩溃
- 将具有类似数组内容的字符串转换为2D数组
- JavaScript将JSON存储在2D数组中
- ASP.NET MVC:2d数组在从javascript传递到MVC控制器操作后为null
- 当将从javascript客户端调用javaapi时,在javaapi中使用2d数组