如何在html表中提取文本

时间:2015-02-10 15:35:28

标签: php 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 e f
a b c d e f,是Operaio 1行的内容

1 个答案:

答案 0 :(得分:0)

你必须使用表单或javascript / jquery来执行此操作。下面是一个使用jquery的例子。我使用的主要功能是.click()触发按钮点击时的值集合,.each()循环显示指定的输入,classes指定我想要的输入。 .append()用于输出结果

&#13;
&#13;
$(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]);
        }
    });
});
&#13;
td, th {
    border: 1px solid black;
}
&#13;
<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>
&#13;
&#13;
&#13;

编辑:这里更容易显示代码。关于你的pastebin:

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>";
}

不正确,您必须将dipendente用作class,而不是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>";
}

如果其他任何内容无效,请在您的代码中,在您的代码中打赌它只是拼写错误(拼写错误,未正确对齐引号)。