2015-02-10 55 views
-1

我实现了一个代码,通过一个按钮压力允许生成HTML表:如何提取HTML表格文本

function crea_tabella($colonne,$suddivisione,$righe) 
{ 
    $dipendenti = 0; 
    $progressivo = 0; 
    echo "<table border='1' width='50%' height='25%'>"; 

     echo "<tr>"; 
      echo "<td></td>"; 
      echo "<td>Lunedì</td>"; 
      echo "<td>Martedì</td>"; 
      echo "<td>Mercoledì</td>"; 
      echo "<td>Giovedì</td>"; 
      echo "<td>Venerdì</td>"; 
      echo "<td>Sabato</td>"; 
     echo "</tr>"; 

     for($i=0; $i<$righe; $i++) 
     { 
      echo "<tr>"; 
      echo "<td ><input name='casella $progressivo' type='text' value='Operaio $i' disabled='true'></td>"; 
      $progressivo++; 
      for($j=0; $j<$colonne;$j++) 
      { 
       if($suddivisione == 1) 
       { 
        echo "<td><input type='text name='dipendente''></td>"; 
       } 
       elseif($suddivisione == 2) 
       {  
        echo "<td>AM<input type='text' name='dipendente'><br>"; 
        echo "  PM<input type='text name='dipdenente''></td>"; 
       } 
      } 
      echo "</tr>"; 
     } 
     echo "</table><br>"; 
} 

现在我想创建另一个函数,提取生成的特定单元格的内容表.. 看到红色的框:
image


怎么能做到这一点?

Operaio 1:A B C d电子网
A B C d电子网,是线Operaio 1

+0

你问一个特定的细胞,但你的图像显示基本上每个细胞被选中......它是哪一个? – Slime 2015-02-10 15:39:28

+0

是啊!那些是特定的细胞。正如你可以在第一列“Operaio”中看到的,我不想得到它包含的值。更具体地说,对于“Operaio 1”,我将拥有它们的6个值。 – 2015-02-10 15:43:22

+0

'type ='text name ='dipendente'''首先,你应该把它解决为'type ='text'name ='dipendente''应该给每个单元格一个不同的名称,比如'type ='text'name ='dipendente [1] [1]'','type ='text'name ='dipendente [1] [2]''...'type ='text'name ='dipendente [$ row] [$ col]''最后你应该告诉我们,如果你想通过发布到另一个页面来获取内容'$ _POST ['dipendente'] [1] [2]'或作为一个JavaScript,而他们在页面上'document.getElementsByName(“dipendente [1] [2]”)[0]' – 2015-02-10 15:54:53

回答

0

必须使用任一形式或JavaScript/jQuery来做到这一点的内容。继承人使用jQuery的一个例子。我使用的主要功能是.click()触发按钮单击上的值的收集,.each()循环指定的输入,并且classes指定我想要的输入。 .append()用来输出结果

$(document).ready(function() { 
 
    $('.get').on('click', function(e) { 
 
     var values = []; 
 
     e.preventDefault(); 
 
     $('.getValue').each(function() { 
 
      values.push($(this).val()); 
 
     }); 
 
     $('.results').html(''); 
 
     for(var i=0; i<values.length; i++) { 
 
      $('.results').append('<br/>' + values[i]); 
 
     } 
 
    }); 
 
});
td, th { 
 
    border: 1px solid black; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table> 
 
    <thead> 
 
     <tr> 
 
      <th></th> 
 
      <th>Header 1</th> 
 
      <th>Header 2</th> 
 
      <th>Header 3</th> 
 
     </tr> 
 
    </thead> 
 
    <tbody> 
 
     <tr> 
 
      <td>Left Column1</td> 
 
      <td><input class="getValue" type="text" value="1,1"/></td> 
 
      <td><input class="getValue" type="text" value="1,2"/></td> 
 
      <td><input class="getValue" type="text" value="1,3"/></td> 
 
     </tr> 
 
     <tr> 
 
      <td>Left Column2</td> 
 
      <td><input class="getValue" type="text" value="2,1"/></td> 
 
      <td><input class="getValue" type="text" value="2,2"/></td> 
 
      <td><input class="getValue" type="text" value="2,3"/></td> 
 
     </tr> 
 
     <tr> 
 
      <td>Left Column3</td> 
 
      <td><input class="getValue" type="text" value="3,1"/></td> 
 
      <td><input class="getValue" type="text" value="3,2"/></td> 
 
      <td><input class="getValue" type="text" value="3,3"/></td> 
 
     </tr> 
 
    </tbody> 
 
</table> 
 
<br/> 
 
<br/> 
 
<a href="#" class="get">Get Values of Inputs</a><br/> 
 
<div class="results"></div>

编辑:它更容易在这里展示的代码。关于你的引擎收录:

if($suddivisione == 1) 
{  
    echo "<td><input type='text name='dipendente''></td>"; 
} 
elseif($suddivisione == 2) 
{   
    echo "<td>AM<input type='text' name='dipendente'><br>"; 
    echo "PM<input type='text name='dipdenente''></td>"; 
} 

不正确,你必须使用dipendenteclass,而不是一个name。而且你有一堆错别字......和你'报价不匹配....

是这样的:

if($suddivisione == 1) 
{  
    echo "<td><input type='text class='dipendente'></td>"; 
} 
elseif($suddivisione == 2) 
{   
    echo "<td>AM<input type='text' class='dipendente'><br>"; 
    echo "PM<input type='text' class='dipendente'></td>"; 
} 

如果别的心不是工作,在你的代码,我会在你的代码中打赌它只是错别字(拼写错误,没有正确对齐引号)。

+0

只有一个问题:链接又有什么变化?而不是# – 2015-02-10 16:07:39

+0

因为您的代码正常工作,但如果我实施您的解决方案,则不会显示该值。检查完整的课程:http://pastebin.com/bEqcQpLv – 2015-02-10 16:16:36