【问题标题】:Bootstrap modal not working in datatable row引导模式在数据表行中不起作用
【发布时间】:2019-08-22 17:40:13
【问题描述】:

我想在 yejra 数据表中使用引导模式。当我单击打开模式时,它会弹出。如果我不从数据表中调用它,这里模态可以正常工作。这是我的代码。我正在使用 laravel 5.6

return DataTables::of($users_data)
         ->addColumn('action', function ($users_data) use ($condition) {
           return '<button type="button" class="myBtn btn btn-info btn-lg" id="">Open Modal</button>'

modal//这里我只保留第一行modal代码

<div class="modal fade" id="myModal" role="dialog">
</div>

js

$(document).ready(function(){
    $(".myBtn").click(function(){
        $("#myModal").modal();
    });
});

【问题讨论】:

  • 它是怎么放到dom上的?它是编码的html吗?什么不起作用,有什么错误?
  • 控制台中没有显示错误
  • 1 down...怎么放到dom上的?它是编码的html吗?什么不工作?
  • 很可能是return DataTables... htmlentities 您尝试插入的 html 和/或响应是通过 ajax 完成的,并且您没有在按钮上重新附加事件处理程序。
  • 未编码.... function getdata() { $condition = "12"; $users_data = test::where('flag','Y') ->get(['id','name','email','phone']); return DataTables::of($users_data) ->addColumn('action', function ($users_data) use ($condition) { return ' '; }) ->make(true); }

标签: jquery laravel laravel-5 datatables


【解决方案1】:

如果您有多个模态,请尝试此操作,只需将动态模态值传递给函数
HTML

var modal='moadal1';
    <button type="button" class="myBtn btn btn-info btn-lg" onclick="someFunction('+modal+')">Open Modal 1</button>

js


function someFunction(val){
  $(val).modal();
}

【讨论】:

    【解决方案2】:

    您也可以通过添加一个类并在类的帮助下获取 id 以及包含的行 id 的组合来做到这一点。获取每一行的数据非常重要。 现在借助模型 ID 访问模型

    return DataTables::of($users_data)
         ->addColumn('action', function ($users_data) use ($condition) {
           return `<button type="button" 
           class="myBtn btn btn-info btn-lg"  
           id="ModelID${rowID}>Open Modal</button>`;
    
           $('.myBtn').click(function(function(){
               var modal_id='#'+$(this).attr('id');
               $(modal_id).modal('show');
    
         }));
    

    【讨论】:

      猜你喜欢
      • 2017-11-08
      • 2014-03-14
      • 2014-07-09
      • 1970-01-01
      • 2014-01-17
      • 2016-11-20
      相关资源
      最近更新 更多