请参阅下面的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
相同的结果。
答案 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
}
这可能会对你有所帮助