我使用的jquery插件就是这个 http://code.google.com/p/jquery-in-place-editor/
如果我有这样的表
<table>
<thead>
<tr>
<th>id</th>
<th>first name </th>
<th>last name </th>
</tr>
</thead>
<tbody>
<tr>
<td class="id">1</td>
<td class="fname">sarmen</td>
<td class="lname">mikey</td>
</tr>
<tr>
<td class="id">2</td>
<td class="fname">john</td>
<td class="lname">angelo</td>
</tr>
<tr>
<td class="id">3</td>
<td class="fname">sarmen</td>
<td class="lname">grande</td>
</tr>
</tbody>
</table>
我的js看起来像这样
$("td.fname").editInPlace({
url: 'ajax.php',
params: '',
show_buttons: true
});
然后让我说我点击第一条记录来编辑它,这是sarmen的fname。我怎样才能通过一个只能代表id 1的参数?因为如果我做一个查询,请说
"update tbl_users set fname = '$_POST['update_value']' where fname = '$_POST['original_html']'"
(注意:我只是展示一个例子,所以如果那困扰你就不需要清理帖子:))
如果我运行此查询,则sarmen的fname将更新为两个记录而不是一个。我怎样才能更新为1的id只更新一条记录。
答案 0 :(得分:1)
$("table tr").each(function(i, el) {
var tdId = $(el).find("td.id");
$(this).find("td.fname".editInPlace({
url: 'ajax.php',
params: 'id=' + $(tdId).text(),
show_buttons: true
});
});
答案 1 :(得分:0)
你必须从行的第一个单元格中添加params id。
$("td.fname").editInPlace({
id = $(this).parents('tr').children('td:first-child').html();
url: 'ajax.php',
params: {id:id},
show_buttons: true
});
php中的和$id = (int)$_POST['id'];