【问题标题】:How to change button attribute with database value in ajax如何在ajax中使用数据库值更改按钮属性
【发布时间】:2019-08-15 09:26:28
【问题描述】:

我想根据表数据库中的数据将按钮的属性从启用更改为禁用。

这是我提到的 ajax、控制器和数据库表的代码

表中我想要的列是commission_claim,它带有2 个值。 0 和 1。0 表示没有声明,1 表示有声明

这是ajax部分

$("#notify").click(function() {

    $.ajax({
        url: 'affiliate/sales/notify',
        success: function(status) {

        if (status == 1) {
        showNotification("success", "Berjaya!", "Anda berjaya membuat tuntutan komisyen");
         $("#notify").attr("disabled","disabled");

        }
    }

});

  })

这是控制器内部的动作

公共函数通知() {

    $id = $this->user['id'];

    $agent = AffiliateAgents::get($id);
    if (empty($agent)) redirect('affiliate/sales/browse');

    $_POST = array_map('trim', $_POST);

    $agent = [
        'commission_claim' => 1

    ];

    AffiliateAgents::update($id, $agent);

    $status = AffiliateAgents::select('commission_claim')->where('id', $id)->get();

    jsonResponse(1);

    die();

    return $status;
}

我希望按钮根据我提到的列中的值进行更改

【问题讨论】:

  • 使用disabledtruefalse作为$("#notify").attr("disabled",true);
  • 问题是当我刷新该页面时,它将处于启用按钮的状态。我想根据表数据库中的数据启用和禁用按钮。所以如果我尝试刷新它,它不会变回原来的状态。
  • 那么你应该在页面加载之前检查状态并使其从服务器端检查中禁用,当时不强制使用ajax。

标签: php jquery ajax frameworks


【解决方案1】:
$("#notify").click(function() {

    $.ajax({
        url: 'affiliate/sales/notify',
        success: function(status) {

        if (status == 1) {
        showNotification("success", "Berjaya!", "Anda berjaya membuat tuntutan komisyen");
           $("#notify").attr("disabled", true);

        }
    }

});

  })

获取响应按钮属性后将disable设为true。

如果你想删除禁用

$('#notify').attr("disabled", false);   
or
$('#notify').removeAttr("disabled");

【讨论】:

  • 问题是当我刷新该页面时,它将处于启用按钮的状态。我想根据表数据库中的数据启用和禁用按钮。所以如果我尝试刷新它,它不会变回原来的状态。
  • 那么你必须在页面加载之前检查按钮状态。保持默认按钮状态并禁用 false。当您进行第一次 ajax 调用时,将该状态存储在本地存储中,并在数据库和本地存储中不断更新该状态。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-06-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多