使用AJAX执行基本CRUD的最佳方法是什么

时间:2010-06-10 20:44:33

标签: jquery ajax javascript

我在网站上制作简单的CRUD时遇到了麻烦。

我有一张注册表

<table>   
    <tbody>  
        <?php foreach ($row as $reg) { ?>  
            <tr <?php if ($reg['value'] < 0) { echo "class='error'"; } ?>>  
                <td><?php echo $reg['creditor'] ?></td>  
                <td><?php echo $reg['debtor'] ?></td>  
                <td><?php echo $reg['reason'] ?></td>  
                <td>R$ <?php echo number_format(abs($reg['value']), 2, ',', ' ')?></td>  
                <td><a **href="<?php echo $this->baseUrl(); ?>/history/delete/id/<?php echo $reg['id']; ?>"** class="delete"><img src="http://192.168.0.102/libraries/css/blueprint/plugins/buttons/icons/cross.png" alt=""/></a></td>  
            </tr>  
        <?php } ?>  
    </tbody>  
</table>

我想使用 AJAX (优先使用jQuery)在这些行中执行简单的删除。问题是:我是否必须在 JS 中创建一个函数并在HTML中添加 onmouseclick 事件?是否有更一致的方法来执行此操作,例如直接在 js文件中添加$('.delete').click()?如果是这样,我如何传递ajax函数的行ID

我真正想要的是知道如何通过 clean! 方式将行ID 传递给$.ajax() jQuery函数

另外

使用history\delete\id\ROW_ID jQuery函数看起来像$.ajax()的AJAX代码。我只是想删除行并淡化并从表中删除它。

我试过但可以解决这个问题

$('.delete')
        .click(function() {
        $.ajax({
            type: 'GET',
            url: 'history/delete/',
            data: 'id/'+$(this).attr('id'),
            success: function() {
            $(this).fadeOut();
            $(this).remove();
            }
        });
        return false;
        });

1 个答案:

答案 0 :(得分:2)

在视图中:

...
<td><a **href="<?php echo $this->baseUrl(); ?>/history/delete/id/<?php echo $reg['id']; ?>"** class="delete" id="<?php echo $reg['id'] ?>"><img src="http://192.168.0.102/libraries/css/blueprint/plugins/buttons/icons/cross.png" alt=""/></a></td>
...

在js:

$('.delete').click(function()
{
  var rowid = $(this).attr('id') ;
  // ... then make your ajax call...
});