Skip to content
Advertisement

Jquery how to pass value id from one event handler to another

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');
User contributions licensed under: CC BY-SA
9 People found this is helpful
Advertisement