2015-11-20 145 views
2

我有一个脚本,我想通过传递参数调用onclick上的另一个函数。我想调用remove_product函数。如何实现这一点?如何将参数传递给onclick上的javascript函数?

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"); 
}; 
相关问题