这是一个表格,每一行都有一个复选框,当它被选中时,想要得到各自的td值并回显出来。这里我使用if语句,但它似乎不起作用。
我在这里使用php,正在使用jquery一个出路,可以用jquery与php一起工作 代码,那么我可以将那些已检查的表行值发送回服务吗?有什么想法吗?谢谢。
<form>
<table>
<tr>
<?php
$specific = [];
while($row = mysqli_fetch_array( $result ,MYSQL_ASSOC)) {?>
<td><input type="checkbox" name="p[]" value="<?php echo $row['id']; ?>">
</td>
<td><input type="text" name="patientid[]"
style="border: none" value="<?php echo $row['patientid'] ?>"></td>
<td>
<textarea name="msg" style="border: none" class='msg'>
<?php echo $row['message'];} ?> </textarea>
</td>
<td><input class="phone" type="text" value="<?php echo
$row['telMobile'] ?>"></td>
检查是否检查了表格行
<?php if(!isset($_GET['p'])){
$specific[] = [
"phone" => $row["telMobile"],
"message" =>$row["message"],
];}
}
$result = json_encode($specific,JSON_UNESCAPED_UNICODE);
echo $result;
echo "</tr>";
echo "</table>";
echo "</form>";?>
$ result的结果是仅显示checked
表格行的数据。
[{"phone":"123456","message":"test"},
{"phone":"789456","message":"testing"}]
答案 0 :(得分:1)
更改您的HTML代码,如下所示:
<td><input type="text" name="patientid[<?php echo $row['id']; ?>]"
style="border: none" value="<?php echo $row['patientid'] ?>"></td>
<td>
<textarea name="msg[<?php echo $row['id']; ?>]" style="border: none" class='msg'>
<?php echo $row['message'];} ?> </textarea>
</td>
<td><input name="phone[<?php echo $row['id']; ?>]" class="phone" type="text" value="<?php echo
$row['telMobile'] ?>"></td>
我在输入控件名称中添加了<?php echo $row['id']; ?>
。
更改您的PHP代码如下:
foreach($_GET["p"] as $id) {
$specific[] = [
"phone" => $_GET["phone"][$id],
"message" => $_GET["msg"][$id],
];
}