Biomehanika
Biomehanika

Reputation: 1540

Unique jQuery function to update data from any table

I have a jQuery function on a separate functions.js file, that is in charge of making a SQL update by posting some info. This is working properly, here you can see it:

Function being called on my php file, passing just element's ID info:

$('.tableContent').on('click', '.discontinueIcon', function() {
 turnId = $(this).attr('data-id');
 discontinueRow();})

Function working properly on a separate functions.js file:

function discontinueRow(){
    row = '#' + turnId;
    $.post('config/forms/turn_conf/turn_discontinue.php', { tu_id:turnId }).success(messageOKKKK);}


As I will need to create many more functions updating info from many tables, I was trying to have a unique function, and provide it with needed info being sent with parameters from the php files. As I am new to this, do not even know if it is possible, and if it is I definitely can't get the way to.

I tried to store the needed values on several variables on my php file:

$('.tableContent').on('click', '.discontinueIcon', function() {
   turnId = $(this).attr('data-id');
   action = "'config/forms/turn_conf/turn_discontinue.php'";
   elements = "tu_id:turnId";
   discontinueRow(action,elements);})

And using these parameters on the separate functions.js file as this shows:

function discontinueRow(action,elements){
    row = '#' + turnId;
    $.post(+action+,{ +elements+ }).success(messageOKKKK);}

But this does not work. Is it possible to pass by this way parameters to a function? In this case, what is going wrong here?

Upvotes: 0

Views: 35

Answers (1)

bastos.sergio
bastos.sergio

Reputation: 6764

You can do it like this:

$('.tableContent').on('click', '.discontinueIcon', function() {
 turnId = $(this).attr('data-id');
 discontinueRow('config/forms/turn_conf/turn_discontinue.php', { tu_id:turnId });
});

you also need to set up your function with input parameters:

function discontinueRow(url, params){
    row = '#' + turnId;
    $.post(url, params).success(messageOKKKK);}
}

Upvotes: 1

Related Questions