在html中提取表行数据

时间:2015-01-29 06:26:07

标签: javascript php

请参阅下面的while循环,该循环显示加载页面时表格中的数据。

<?php 
$idcount;
$jobcount;
$flagcount;
while ( $row = sqlsrv_fetch_array ( $stmt, SQLSRV_FETCH_ASSOC ) ) 
    {
        if ($row ['Active'] == '1') {
            $flag = 'checked = "checked"';
        } else {
            $flag = '';
        }
        echo ("<tr>
            <td id = jid$idcount>".$row['JobTypeID']."</td>
            <td id = jtype$jobcount>".$row['Jobtype']."</td>
            <td align='center'><input id=active$flagcount type='checkbox' name='activecheck' $flag disabled ></td>
            <td align='center'><a class = 'toedit' href=# onclick = 'edit($idcount)'>Edit</a> | <a href=# onclick = 'dele($idcount)'>Delete</a></td>
            </tr>");
        $flag = '';
        $idcount += 1;
        $jobcount += 1;
        $flagcount += 1;
    }
    ?>

我的目标是,当我点击Edit链接时,我需要填写一个包含相应行数据的表单。

我打算在复制行中的数据后使用javascript来执行处理,但我不清楚如何为每个Edit链接提取相应的行数据。

我是PHP的新手,所以请指导我。

编辑:下面是我正在使用的表单的代码

<form name="job" id="ForNew" method="post"  action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">

        <input type="hidden" id="JID" value="">

        Job Type <input type="text" id="JType"name="jobtype" value="<?php echo htmlspecialchars($JobTypeValue);?>">
        <span class="error"><?php echo $JobTypeErr;?></span><br> 

        Active? Yes <input type="radio" id = "JRadio"name="radio"<?php if (isset($ActiveValue) && $ActiveValue == "yes") echo "checked"; ?>value="yes"> 
        No <input type="radio" id ="JRadio" name="radio"<?php if (isset($ActiveValue) && $ActiveValue == "no") echo "checked"; ?>value="no"> 
        <span class="error"><?php echo $ActiveErr;?></span><br>

        <input type="submit" name="sub" value="Submit!">
    </form>

编辑2: 我已经编写了函数edit(),如下所示,但返回的值是Object object的形式。但我需要的值是每个特定<td>的id名称,以便我可以将其值复制到表单文本框中。

<script type="text/javascript">
function edit(Data)
{
    //Get data with reference to ID
    var Num = String(Data);
    alert("Entered Function! " + Num);
    alert("JID n Data"+$('jid'+Num));
    alert("JID value " + Num);
    alert(console.log(Num));
    $('#JID').val($('jid'+Data).html());
    $('#JType').val($('jtype'+Data).html());
    $('#JRadio').val($('active'+Data).html());
}

即使我没有将var Num = String(Data);转换为字符串,我也会得到与Object object相同的结果。

2 个答案:

答案 0 :(得分:1)

我刚刚解决了自己的问题。问题是edit(Data)函数传递了正确的值,但是需要从id获取数据的元素的$('#JID').val($('jid'+Data).html());值被错误地引用。

声明$('#JID').val($('jid'+Data).html());必须与$('#JID').val($('#jid'+Data).html());类似。 #之前的'jid'缺失,代表元素的“id”部分。

答案 1 :(得分:0)

在链接

中使用以下代码
onclick="edit(this)"

在编辑功能中使用此代码

    function edit(e){
var x=$(e).parents(tr);
$(x).childern("#$idcount") //gives first td value
$(x).childern("#$jobcount") //gives secondtd value
$(x).children("td:nth-child(3)").children("#flagcount").val() //gives input value
}

这可能会对你有所帮助