我已經閱讀了多種答案但沒有任何作品。 我試圖做的是使每個結果從一個PHP foreach循環可點擊,然後將該數據與AJAX發送到其他PHP文件,現在的問題是,無論我做什麼,只有最後的foreach結果總是得到發送,而不是結果我點擊了? (不包括數據庫)如何在每個PHP foreach結果上做一個AJAX點擊文章
迴路存在於功能的functions.php:
public function getForeachResult()
{
$response = $this->GetObject($parameters);
include 'template.php';
}
,處理結果的template.php模板:
<?php
foreach ($response->Result->List as $key =>$value) {
?><table id="mytable"><tr>
<th>ID</th>
<th>Date</th>
<th>firstname</th>
<th>lastname</th>
</tr>
<?php foreach ($value as $key=>$value) {?>
<tr class="myrow">
<td><?php echo $value->ID; ?></td>
<td><?php echo date("d-m-Y", strtotime($value->Time)); ?></td>
<td><?php echo $value->FullName; ?></td>
<td><?php echo $value->LastName; ?></td>
</tr>
<?php } ?>
</table><br />
<?php } ?>
在template.php文件的AJAX腳本所謂的底部:
<script>
$('.myrow').click(function() {
$.ajax({
type: "POST",
cache: false,
url: "post.php",
data: { action: 'goTo', value: <?php echo $value->ID ?>}
}).done(function(msg) {
$('.Data').html(msg);
});
});
在post.php中,其中DAT是送我只得到foreach循環 post.php中的最後結果:
if($_POST['action'] == 'goTo') {
var_dump ($_POST);
}
所以我怎樣才能確保AJAX向我點擊的數據?
數據:{行動:「GOTO」,價值:$ (this).find(td:first).text()。trim()} – JYoThI
這裏的問題是你沒有明確標識哪個行被點擊。這就是爲什麼你總是隻能獲取最後一行的原因。你應該添加一個可點擊的按鈕到你的表中,這將是唯一的 – hungrykoala
你在第二個循環中重複使用變量'$ key'和'$ value',這可能會導致意想不到的結果。重命名第二個循環中的變量。 – chiliNUT