Как добавить ссылку с помощью href, вызвав функцию javascript с параметром в таблицах данных Jquery? - PullRequest
0 голосов
/ 08 ноября 2019

Я хочу вызвать функцию editEmployee / deleteEmployee из столбца с данными. Редактировать / удалить ссылку со значением empId параметра.

Как передать значение столбца empId в функцию editEmployee / deleteEmployee, вызываемую из ссылок редактирования и удаления.

Ниже мой код JavaScript:

table = $('#employeesTable').DataTable(
                {
                    "sAjaxSource" : "/SpringDemo/employees",
                    "sAjaxDataProp" : "",
                    "order" : [ [ 0, "asc" ] ],
                    "aoColumns" : [
                            {
                                "className": "dt-center",
                                "sClass" : "center",
                                "mData" : "empId"
                            },
                            {
                                "orderable": false,
                                data: null,
                                className: "dt-center",
                                defaultContent: '<a href="javascript:editEmployee(empId);" class="glyphicon glyphicon-pencil text-primary"></a>'
                            } ,
                            {
                                "orderable": false,
                                data: null,
                                className: "dt-center",
                                defaultContent: '<a href="javascript:deleteEmployee(empId);" class="glyphicon glyphicon-remove text-danger"></a>'
                            } ]
                })

Ответы [ 2 ]

0 голосов
/ 12 ноября 2019

Спасибо всем за комментарии.

Я решил проблему, сохранив идентификатор в скрытом вводе и получив доступ к нему при редактировании следующим образом.

$(document).on('click', '#employeesTable tr', function(e) {
    var row_object = table.row(this).data();
    $("#hdnID").val(row_object.empId);
});

function editEmployee() {
    $.ajax({
        url : 'edit/' + $("#hdnID").val(),
        type : 'GET',
        success : function(result) {
            // Do something with the result
        }
    });
}
0 голосов
/ 08 ноября 2019
table = $('#employeesTable').DataTable(
{
    "sAjaxSource" : "/SpringDemo/employees",
    "sAjaxDataProp" : "",
    "order" : [ [ 0, "asc" ] ],
    "aoColumns" : [
            {
                "className": "dt-center",
                "sClass" : "center",
                "mData" : "empId"
            },
            {
                "orderable": false,
                data: null,
                className: "dt-center",
                defaultContent: '<a data-emp_id="[add emp id value here]" class="glyphicon glyphicon-pencil text-primary edit-link"></a>'
            } ,
            {
                "orderable": false,
                data: null,
                className: "dt-center",
                defaultContent: '<a data-emp_id="[add emp id value here]" class="glyphicon glyphicon-remove text-danger delete-link"></a>'
            } ]
})

 $('.edit-link').on('click', function () {
  var empid= $(this).data('emp_id')
  window.location.href="edit url ";
  });

 $('.delete-link').on('click', function () {
   var empid= $(this).data('emp_id')
   window.location.href="delete url ";
 });

В основном вам нужно иметь события onclick для каждого на основе класса .. затем извлечь empID, сохраненный в атрибуте data-emp_id кнопки, по которой вы щелкнули, и затем перенаправить соответствующим образом

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...