使用Jquery在弹出窗口中克隆表输出和显示

时间:2012-10-15 21:45:52

标签: php jquery

这可能相当简单。我有一个表格,我用php / mysql动态生成,我只想说,例如;

<table id="mytable">
<tr><td>1</td><td>2</td><td>3</td></tr>
<tr><td>4</td><td>5</td><td>6</td></tr>
<tr><td>7</td><td>8</td><td>9</td></tr>
</table>

我想复制这个表的整个html,以便我可以在php的另一个页面上显示它。我该怎么做呢?我能以某种方式将html存储在php会话中吗?

感谢任何帮助,谢谢!

2 个答案:

答案 0 :(得分:0)

是的,这是可能的。

要直接回答您的问题,您可以使用jQuery's html method获取表格内容:

var myTabelContents = $('#mytable').html();

然后将其注入另一个html元素,我们会说 mytable2 ,其中包含:

$('#mytable2').html(myTableContents);

这将需要在页面中生成弹出窗口,而用户实际上不会离开您所在的页面。 (离开页面会破坏存储在javascript内存中的对象)。

有一些方法可以在本地保存这些数据,以便可以通过利用HTML5或将信息保存到cookie或PHP会话在后续页面上查看。

但是,根据您所描述的内容,这听起来像是一个在PHP中使用 include require 进行最佳处理的解决方案。在PHP中,您可以将任何文件的内容包含到任何其他文件中。我会考虑将表保存到外部文件,例如 mytable.template.php 。您可以使用include语句在任意数量的页面上包含该表。例如:

page1.php中的

include 'mytable.template.php';

请务必阅读包含要求here之间的区别。

答案 1 :(得分:0)

使用ajax可以更轻松地将任何类型的数据发送到其他页面或文件

<input type='text' id='myfield' />
$.ajax({
    url: 'myOtherFile.php',
    type: 'post',
    data: 'myvar='+ $('#myfield').val(),
    success: function(answerData){
         $('#whereIlikeputMydata').html(answerData);
    }
});

所以你的所有数据和连接函数都在这样的其他文件中

$data=$_POST['myvar'];
 #do all operations with your var $data and print it
echo $myResult;