php服务器端关联数组到html客户端

时间:2013-08-23 15:13:35

标签: php html arrays forms

在php中我有以下

的数组
$var=array();
$var[0][0][num]='1';
$var[0][0][text]='2';
$var[0][1][num]='3';
$var[0][1][text]='4';
$var[1][0][num]='5';
$var[1][0][text]='6';
$var[1][1][num]='7';
$var[1][1][text]='8';

我需要上下移动变量对[text][num],并将新对添加到数组的末尾。

在服务器端执行它很简单,但我想在客户端允许这些操作。

所以,它应该如下所示

<form>
<div>
<input name="var[0][0][num]" value="1">
<input name="var[0][0][text]" value="2">
<input name="var[0][1][num]" value="3">
<input name="var[0][1][text]" value="4">
</div>

<div>
<input name="var[1][0][num]" value="5">
<input name="var[1][0][text]" value="6">
<input name="var[1][1][num]" value="7">
<input name="var[1][1][text]" value="8">
</div>
</form>

所以,现在我需要将任何这些div复制到表单的末尾并上下移动这些div并保留它们的值。

例如,我可以复制上部div并将其附加到form

onlick="this.parentNode.appendChild(this.cloneNode(true))"

之后的形式如下:

<form>
<div onlick="this.parentNode.appendChild(this.cloneNode(true))">
<input name="var[0][0][num]" value="1">
<input name="var[0][0][text]" value="2">
<input name="var[0][1][num]" value="3">
<input name="var[0][1][text]" value="4">
</div>

<div>
<input name="var[1][0][num]" value="5">
<input name="var[1][0][text]" value="6">
<input name="var[1][1][num]" value="7">
<input name="var[1][1][text]" value="8">
</div>

<div onlick="this.parentNode.appendChild(this.cloneNode(true))">
<input name="var[0][0][num]" value="1">
<input name="var[0][0][text]" value="2">
<input name="var[0][1][num]" value="3">
<input name="var[0][1][text]" value="4">
</div>

</form>

我无法弄清楚,如何更改复制的div输入的名称。例如,复制和附加的div应为

<div onlick="this.parentNode.appendChild(this.cloneNode(true))">
<input name="var[2][0][num]" value="1">
<input name="var[2][0][text]" value="2">
<input name="var[2][1][num]" value="3">
<input name="var[2][1][text]" value="4">
</div>

或者,当我将上部div移动到低于div时,它们应该重命名并且看起来像

<div>
<input name="var[0][0][num]" value="5">
<input name="var[0][0][text]" value="6">
<input name="var[0][1][num]" value="7">
<input name="var[0][1][text]" value="8">
</div>

<div>
<input name="var[1][0][num]" value="1">
<input name="var[1][0][text]" value="2">
<input name="var[1][1][num]" value="3">
<input name="var[1][1][text]" value="4">
</div>

好的,我知道这个问题很复杂,可能看起来很愚蠢,所以我只需要猜一下=)

1 个答案:

答案 0 :(得分:1)

你还没有在你的标签中提到jQuery,但这就是我要看的。特别是,jQueryUI库,它运行在jQuery之上。

jQuery是一个javascript库,比经典的javascript更有效(更少打字,用更少的代码做更多)。

请参阅jQueryUI可排序窗口小部件here

对于jQuery教程:Alex Garret's jQuery tutorials at the thenewboston.com

Alex Garret's website还有更多教程。