piya
piya

Reputation: 205

How to pass parameters to a javascript function on onclick?

I have a script where i want to call another function on onclick by passing parameters.I want to call remove_product function .How can i achieve this?

function load_cart(){
$('.mini-cart-products').html('');
var url = $('.ajax-url').attr('href');
var t   = 0;
// console.log(url);
$.ajax({
    url     : url,
    dataType:'json',
    success:function(result){

        if(result.length > 0)
        {
            var image       = $('.mini-cart-image a img');
            var prod_name   = $('.mini-cart-name a');
            var attribute   = $('.mini-cart-attributes');
            var pricing     = $('.mini-cart-pricing');

            $.each(result, function(key, val){

                var remove_url = val.remove;
                var barcode = val.barcode;
                var cart_id = val.cart_id;
                console.log("remove_url :"+remove_url+" barcode : "+barcode+" cart_id : "+cart_id);
                var productDiv  = $( "<div class='mini-cart-product clearfix'></div>" );                                             
                var nameDiv     = '<div class="mini-cart-name font"><a href="'+val.link+'">'+val.name+'</a></div>';
                var attributes  = $( "<div class='mini-cart-attributes'></div>" );
                var colorAttr   = '<div class="attribute"><span class="label">Colour: </span><span class="value">'+val.color+'</span></div>';
                var sizeAttr    = '<div class="attribute"><span class="label">Size&nbsp&nbsp&nbsp: </span><span class="value">'+val.size+'</span></div>';
                var remove  = '<div class="mini-cart-remove"><a onclick="remove_product(remove_url,barcode,cart_id)">Remove</a></div>';

Upvotes: 4

Views: 19549

Answers (4)

Shailendra Sharma
Shailendra Sharma

Reputation: 6992

The line of remove var should be something like that.

var remove  = '<div class="mini-cart-remove"><a onclick="remove_product(\''+remove_url+'\',\''+barcode+'\',\''+cart_id+'\')">Remove</a></div>';

This will solve your problem

Sample fiddle

Upvotes: 3

OliverRadini
OliverRadini

Reputation: 6467

Here's the same thing as other answers but without jquery: https://jsfiddle.net/7L5ypo2r/

var testButton = document.getElementById('test-button')

testButton.onclick = function(){
  //your code would go here
    alert("test");
};

Upvotes: 1

Paulo Menezes
Paulo Menezes

Reputation: 539

You can do with html onclick:

<button onclick="myFunction(param1, param2)">Click me</button>

or via jQuery

$(button).on('click', function() {
     myFunction(param1, param2);
});

Upvotes: 1

John
John

Reputation: 4981

You should declare on the top of your javascript code a member variable.

<script>

var remove_product = null;

function yourFunction () {
  remove_product = 'your_value';
}

$("#yourButton").on('click', function (event) {

 alert(remove_product);

}


</script>

Upvotes: 0

Related Questions