2015-11-20 2 views
2

У меня есть сценарий, где я хочу вызвать другую функцию onclick, передавая параметры. Я хочу вызвать функцию remove_product. Как я могу это достичь?Как передать параметры функции javascript на onclick?

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>'; 
+0

Динамическое добавление элементов может не вызвать функцию, определенную в линию. Поэтому лучше сначала добавить элемент в дерево элементов, а затем добавить событие DOM к определенному элементу \ –

ответ

2

Линия remove var должно быть что-то в этом роде.

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

Это позволит решить вашу проблему

Sample fiddle

0

Вы должны объявить в верхней части своего javascript-кода переменную-член.

<script> 

var remove_product = null; 

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

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

alert(remove_product); 

} 


</script> 
0

Вы можете сделать с HTML OnClick:

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

или с помощью JQuery

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

Вот то же самое как и другие ответы, но без JQuery: https://jsfiddle.net/7L5ypo2r/

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

testButton.onclick = function(){ 
    //your code would go here 
    alert("test"); 
}; 
Смежные вопросы