当点击某个td时,在新窗口中打开整个表格

时间:2013-05-24 05:42:48

标签: php html

直到现在3个小时,我想知道这个,但现在运气好了。

我有一个页面,它的内容由几个html表组成,每个表都有一定的td

它看起来像这样

<td style="padding:0px 0px 0px 5px;" valign="middle"><span class="lshevent">team a - team b </span></td>

当有人点击此Td时,我希望将此td设为超链接。在新窗口中打开整个表格。

我的页面源从远程页面通过文件获取内容进行检索,如下所示

<?php
    //Get the url
    $url = "http://remotesite/pages/page1.html";
    $html = file_get_contents($url);
    $doc = new DOMDocument(); // create DOMDocument
    libxml_use_internal_errors(true);
    $doc->loadHTML($html); // load HTML you can add $html

    $elements = $doc->getElementsByTagName('tbody');

    $toRemove = array();

    // gather a list of tbodys to remove
    foreach($elements as $el)
      if((strpos($el->nodeValue, 'desktop') !== false) && !in_array($el->parentNode, $toRemove, true))
        $toRemove[] = $el->parentNode;    

            foreach($elements as $el)
      if((strpos($el->nodeValue, 'Recommended') !== false) && !in_array($el->parentNode, $toRemove, true))
        $toRemove[] = $el->parentNode;  

    // remove them
    foreach($toRemove as $tbody)
      $tbody->parentNode->removeChild($tbody);

    echo str_replace('</h3><table','<table',$doc->saveHTML());
?>

1 个答案:

答案 0 :(得分:0)

尝试使用onclick="openInNewWindow();"并在该函数中使用您的代码调用ajax,也可能只是将ID放在$('#<your_id>').click(function(){});上,当ajax返回成功时{{1} }

抱歉,好吧,粗略看起来像这样:

window.open();html -> <td id="open">

<td onclick="openWindow();">

js:

$(function(){
   $('#open').click(function(){
      $.ajax({
         type : 'POST',
         data: {},
         dataType : 'html',
         url : '/remotesite/getSite', //here goes the link to your php function(if you are using MVC logic then it will look like this)
         success: function(data){
             myWindow=window.open('','','width=200,height=100');
             myWindow.document.write(data);
         }  
      });
   });
});

并在php中创建一个控制器(这取决于你的网页上是否有MVC逻辑,如果不是你正在使用的文件的实际路径)

function openWindow(){
   //copy the $.ajax function from above here
}

EDITED: 对不起,我没有在

之前发布代码