这是一个很好的问题!AJAXy 的概念在概念上非常简单,但是当您使用 vanilla 代码时,有很多似乎无法填补的漏洞。
您需要做的第一件事是在 HTML 中识别表格中的每一行。这是一个简单的方法:
<tr class="tablerow" id="row-<?= $row->id ">
<td><input type="text" class="rowinput" /></td>
</tr>
我还给了该行一个非唯一的tablerow
. 现在给他们一些行动!我在这里使用 jQuery,它将为我们完成所有繁重的工作。
<script type="text/javascript">
$(function(){
$('.tablerow').click(function(){
var row_id = $(this).attr('id').replace('row-','');
$.getJSON('script.php', {id: row_id}, function(rs){
if (rs.id && rs.data) {
$('#row-' + rs.id).find('.rowinput').val(rs.data);
}
});
});
});
</script>
然后script.php
你会想做这样的事情:
$id = (int) $_GET['id'];
$rs = mysql_query("SELECT data FROM table WHERE id = '$id' LIMIT 1");
if ($rs && mysql_num_rows($rs)) {
print json_encode(mysql_fetch_array($rs, MYSQL_ASSOC));
}