如何添加动态参数

时间:2011-01-10 12:46:52

标签: php jquery ajax

我使用的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只更新一条记录。

2 个答案:

答案 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'];