【问题标题】:How to display the more than one button in a single cell when using data tables?使用数据表时如何在单个单元格中显示多个按钮?
【发布时间】:2018-11-05 14:59:54
【问题描述】:

我在数据表和列表中显示数据库中的数据。

现在我必须在状态栏中添加两个以上的按钮。

喜欢

Name  | Mobile    | Email       | Status         
mnb   |1235412541 |nb@gmail.com | view | pending

所以我尝试了两次返回

首先,return 总是显示视图按钮,第二个 return 取决于条件将返回。 我得到的只是查看按钮。

你能帮我看看如何在一个单元格中显示多个按钮吗?

{ "data": null, 
"render": function (data, type, full, meta) { 
    return "<a href='"+baseUrl+"/Controller_control/get_customer?key="+full["cust_id"]+"'><img src='"+baseUrl+"/assets/images/icons/view.png'></a>"; 
    switch(full["o_order_status"]) { 
    case "-1" : return "<a href='javascript:void(0);'><img src='"+baseUrl+"/assets/images/icons/pending.png'></a>"; break; 
    case "0" : return "<a href='javascript:void(0);'><img src='"+baseUrl+"/assets/images/icons/cancel.png'></a>"; break; 
    case "1" : return "<a href='javascript:void(0);'><img src='"+baseUrl+"/assets/images/icons/create.png'></a>"; break; 
    case "2" : return "<a href='javascript:void(0);'><img src='"+baseUrl+"/assets/images/icons/verified.png'></a>"; break; 
    default : return "N/A"; 
    } 
    } 
    }

控制器代码

$n=1;
      foreach($order_list as $r) {

           $data[] = array(
                "Sr_No" => $n,
                "cust_id" =>base64_encode($this->encryption->encrypt($r->cust_id)),//encrpt the id 
                "Name"=>$r->c_firstname."".$r->c_lastname,
                "Products"=> $r->o_product_brandname,
                "Mobile"=>$r->mobile,
                "Email"=>$r->email,
                "orderStatus"=>$r->o_order_status,
                "o_order_status"=>$r->o_order_status
           );
           $n++;
      }

【问题讨论】:

    标签: php jquery html datatables codeigniter-3


    【解决方案1】:

    您在 switch 语句之前返回 html。这应该适合你。

    { "data": null, 
      "render": function (data, type, full, meta) 
      { 
        var btnView = "<a href='"+baseUrl+"/Controller_control/get_customer?key="+full["cust_id"]+"'><img src='"+baseUrl+"/assets/images/icons/view.png'></a> |"; 
        switch(full["o_order_status"]) 
        { 
            case "-1" : return btnView + "<a href='javascript:void(0);'><img src='"+baseUrl+"/assets/images/icons/pending.png'></a>"; break; 
            case "0" : return  btnView + "<a href='javascript:void(0);'><img src='"+baseUrl+"/assets/images/icons/cancel.png'></a>"; break; 
            case "1" : return  btnView + "<a href='javascript:void(0);'><img src='"+baseUrl+"/assets/images/icons/create.png'></a>"; break; 
            case "2" : return  btnView + "<a href='javascript:void(0);'><img src='"+baseUrl+"/assets/images/icons/verified.png'></a>"; break; 
            default : return btnView + "N/A"; 
        } 
      } 
    }
    

    【讨论】:

    • 抱歉回复晚了,我家出现电源问题。给我一些时间来检查你的答案。
    • 有一些 SyntaxError: missing name after .运算符
    • 我尝试了您的代码,但我的视图按钮正在显示,但开关盒不起作用。我得到的只是 N/A。我得到 te 值 -1,1,0 但仍然只显示 N/A
    • @user9437856 不知道 full["o_order_status"] 中的内容我帮不了你。
    • 我更新了代码。我得到了“o_order_status”的值,但在 switch 中不起作用。我得到了唯一的 N/A
    【解决方案2】:

    您可以这样做来添加多个按钮。您还可以添加条件以显示所需的按钮。

     $n=1;
    
          foreach($order_list as $r) {
             $action = "<button>view</button>"
             $action .= "<button>Pending</button>";
               $data[] = array(
                    "Sr_No" => $n,
                    "cust_id" =>base64_encode($this->encryption->encrypt($r->cust_id)),//encrpt the id 
                    "Name"=>$r->c_firstname."".$r->c_lastname,
                    "Products"=> $r->o_product_brandname,
                    "Mobile"=>$r->mobile,
                    "Email"=>$r->email,
                    "orderStatus"=>$action
               );
               $n++;
          }
    

    【讨论】:

    • 我的回答是正确的,为什么您在投票时点击向下箭头。如果我错了,请纠正我。
    猜你喜欢
    • 1970-01-01
    • 2015-04-30
    • 2017-10-15
    • 2018-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-07
    相关资源
    最近更新 更多