【问题标题】:Exclude table row data from database with php and jquery使用 php 和 jquery 从数据库中排除表行数据
【发布时间】:2014-11-04 11:46:17
【问题描述】:

所以,我正在构建一个管理面板,但在删除一些数据之前,我在确认对话框中遇到了一些问题。我正在为确认对话框使用一个插件,confirmOn 插件。这就是我所拥有的:

HTML:

<tr>
    <td>Name01</td>
    <td>01/11/2014</td>
    <td>Some content</td>
    <td class="bt-delete"><a href='?p=content/det_process&prc=$prc&ex=".$lMov['cd']."'></a></td>
</tr>
<tr>
    <td>Name02</td>
    <td>01/10/2014</td>
    <td>Some content</td>
    <td class="bt-delete"><a href='?p=content/det_process&prc=$prc&ex=".$lMov['cd']."'></a></td>
</tr>
<tr>
    <td>Name03</td>
    <td>01/09/2014</td>
    <td>Some content</td>
    <td class="bt-delete"><a href='?p=content/det_process&prc=$prc&ex=".$lMov['cd']."'></a></td>
</tr>
[etc...]

jquery:

$(function() {
    $('.bt-delete').confirmOn('click', function(e, confirmed) {
        if(confirmed) { // Clicked yes

        } else { // Clicked no

        }
    });                
});

问题是,我之前已经有一些 php 代码来连接我的数据库并在我的表上显示结果以及排除该行的代码。如果我不使用确认插件,我可以删除该行就好了,但我想确认它,所以客户端不会排除酸的东西。

另外,即使它们都使用同一个类,我如何才能只选择一个特定的行? 我尝试过这样的事情:

$('body').on('click', '.bt-delete', function(event){
    alert("Button is working");
});

每个按钮都有一个 data-id="",但效果不佳。

我该怎么做才能让它发挥作用? 如何使用 jquery click 事件插入该 php 函数?

我知道我可以使用 ajax 调用外部 php 文件,但我不想这样做,因为我已经在同一页面中运行了所有代码。

【问题讨论】:

  • 如果点击确认按钮,你应该使用ajax来运行请求。

标签: php jquery


【解决方案1】:

单击按钮后,您需要使用 ajax 运行查询。像这样的东西。 您将需要编辑 post 行以确保它使用正确的变量进入正确的文件。

   <a data-cd='".$lMov['cd']."' class='bt-delete'>

$(function() {
    $('.bt-delete').confirmOn('click', function(e, confirmed) {
        if(confirmed) { // Clicked yes
            var cd = $(this).data("cd");
            $.post('?p=content/det_process&prc=$prc&ex='+cd, function() {
                alert("worked");
            });
        } else { // Clicked no

        }
    });                
});

我已经编辑了代码,我在上面放了一个数据标签,还给了它类。

这里是 jquery 示例的链接。 http://api.jquery.com/jQuery.post/

【讨论】:

  • 是的,我快到了。每个按钮都显示确认框,如果我单击“是”,我会收到确认它正在工作的警报。但问题是由于“和”引号将php代码与jquery混合在一起。你知道如何解决这个问题吗?如果我离开'cd',jquery根本不起作用,如果我改为“ php 不工作。
  • 它的工作方式。但它总是删除第一行,而不是我点击的那一行。你认为这是 php 的问题还是我们可以用 jquery 修复它?哦,它也会删除该行,但前提是我刷新页面。这不是实时的。
  • 好吧,我成功了。我需要设置 var cd = '';在函数之外,然后我使用简单的 .click() 设置 cd = '$this.data('id');在 .confirmOn() 中,我只是调用了 cd var。刚刚使用了 .reload ,所以页面在函数之后自动重新加载,现在一切正常。
猜你喜欢
  • 2021-12-08
  • 1970-01-01
  • 2018-05-09
  • 2014-07-09
  • 2021-04-05
  • 1970-01-01
  • 2012-02-21
  • 2014-05-03
  • 1970-01-01
相关资源
最近更新 更多