Javascript是否可以复制DOM中的元素?

时间:2011-07-27 21:22:39

标签: php javascript html dom

我有一个从PHP查询数据库创建的下拉菜单,然后使用foreach循环创建该下拉菜单的选项列表。

但是在我的表单中,用户可能需要输入更多相同的字段,所以我想知道是否可以将JavaScript复制为包含所有值的下拉元素,然后将其复制到相同的表单中?

为什么我这样想,因为我似乎无法找到将PHP数组传递给JavaScript的方法,或者至少我找不到办法:(

5 个答案:

答案 0 :(得分:5)

请不要使用jQuery! jQuery很棒,但是将整个库包含在这个简单的东西中是没有意义的。除非你已经使用了jQuery,否则你应该使用Javascript的cloneNode()函数。当然你也可以使用Ajax与PHP进行通信,但“只是”Javascript既快又容易。

答案 1 :(得分:2)

是的,您可以使用DOM方法来实现,但更好的是,使用jQuery并查看clone方法:http://api.jquery.com/clone/

您可以通过将PHP数组序列化为JSON对象来将其传递给Javascript,但这是另一个故事。

答案 2 :(得分:0)

我不记得简单的javascript方式,使用jQuery你可以使用clone方法,但是我不会使用这种方法,因为你会得到相同的帖子名称。最好在PHP中执行此操作,除非您需要动态表单。在这种情况下,克隆是解决方案,但在这样做时要密切注意输入名称。

答案 3 :(得分:-1)

你的意思是

<select name="top5" size="5" multiple="">
  <option>Heino</option>
  <option>Michael Jackson</option>
  <option>Tom Waits</option>
  <option>Nina Hagen</option>
  <option>Marianne Rosenberg</option>
</select>

这允许您选择多个选项(enter link description here

答案 4 :(得分:-1)

如果你想将一个php数组传递给javascript,你实际上可以执行以下操作:

var php_array = eval('(' + <?php echo json_encode($php_array); ?> + ')');