2016-02-09 49 views
0

我使用帶有AJAX調用的DataTables將值放入內部。 我有一個刪除按鈕,可以從數據庫調用Web服務器中刪除行的用戶。我想將用戶名字段關聯到按鈕,以便在我的REST調用中使用此值。這是我的表:Datatables將字段值與按鈕相關聯,而Ajax填充表

userTable = $('#usersTable').DataTable({ 
    // disable order and search on column 
    columnDefs : [ { 
     targets : 1, 
     orderable : false, 
     searchable : false, 
    }, { 
     targets : 4, 
     orderable : false, 
     searchable : false, 
    } ], 
    // fix problem with responsive table 
    "autoWidth" : false, 
    "ajax" : "table", 
    "columns" : [ { 
     "data" : "username" 
    }, { 
     data : "enabled", 
     render : function(data, type, row) { 
      if (data) { 
       return '<input data="' + row.username + '" type="checkbox" name="my-checkbox" checked>'; 
      } else { 
       return '<input data="' + row.username + '" type="checkbox" name="my-checkbox">'; 
      } 
     } 
    }, { 
     "data" : "role.role" 
    }, { 
     "data" : "clientVersion.name", 
     "defaultContent" : ""// this set empty string if clientVersion.name is null, otherwise datatables shows popup message with error 
    }, { 
     data : null, 
     className : "center", 
     defaultContent : '<button type="button" class="btn btn-danger" id="deleteUser" data-toggle="modal" data-href=data="' + row.username + '" data-target="#deleteUserModal">Delete</button>' 
    } ], 
    "fnDrawCallback" : function() { 
     // Initialize checkbos for enable/disable user 
     $("[name='my-checkbox']").bootstrapSwitch({ 
      size : "small", 
      onColor : "success", 
      offColor : "danger" 
     }); 
     // $('#toggleChecked').bootstrapSwitch({size: "small", onColor:"success", offColor:"danger"}); 
    } 
}); 

row.username但是不適用,是否存在一種方法來設置按鈕的標籤裏面的用戶名值? 於是我可以使用此代碼通過模態傳遞值:

//Confirm delete user modal 
$('#deleteUserModal').on('show.bs.modal', function (e) { 
    $(this).find('.btn-ok').attr('href', $(e.relatedTarget).data('href')); 
    $('#deleteUserHiddenId').val($(this).find('.btn-ok').attr('href')); 
}); 

並調用:

$("#deleteUserModal").click(function(e) { 
    e.preventDefault(); 
    var id= $('#deleteUserHiddenId').val(); 
}); 

回答

0

我用這個

$('#usersTable tbody').on('click', 'button', function() { 
     usernameSelected = (userTable.row($(this).parents('tr')).data().username); 
    }); 

其中usernameSelected是一個JavaScript變量,我用作路徑變量

相關問題