I have an add-row
button. On its click I am adding a row into my datatable
.
$('.add-row').on('click', function() { id = 0; name = $('#name').val(); email = $('#email').val(); cno = $('#cno').val(); bdy = $('#bday').val(); t.row.add([ name, email, cno, bdy, '<button class ="btn btn-danger del">Delete</button>' + '' + '<button class="btn btn-warning upd" data-id="'+$('#example').DataTable().rows().count()+'">Edit</button>' ]).draw(false); $("#name").val(''); $("#email").val(''); $("#cno").val(''); $("#bday").val(''); });
In the above code, I am using data-id
and adding row id
to it. On my edit
button click I am getting the data-id
value.
$("body").on("click", ".upd", function(e) { const id = $(this).attr("data-id"); console.log(id); // Prevent event propagation e.stopPropagation(); var $row = $(this).closest('tr'); var data = t.row($row).data(); //alert('Edit ' + data[0]); name = data[0]; email = data[1]; cno = data[2]; bdy = data[3]; console.log(name); console.log(email); console.log(cno); console.log(bdy); $("#name1").val(name); $("#email1").val(email); $("#cno1").val(cno); $("#dob1").val(bdy); $("#myModal").modal('show'); });
The above code takes input data from modal
. In my modal
I have a save
button having id btnsubmit
. Now on this button click, I want to pass my data-id
.
$("#btnsubmit").on('click',function () {//in this event i want to pass the `data-id` var new_name = $("#name1").val(); var new_email = $("#email1").val(); var new_cno = $("#cno1").val(); var new_dob = $("#dob1").val(); $("#myModal").modal("hide"); });
How can I pass the value of data-id
in it?
Any help would be highly appreciated.
Advertisement
Answer
you could stock your data in html modal like this:
$("#myModal").data('id', id);
and use:
var id = $("#myModal").data('id');