views:

22

answers:

2

I'm ajaxing my content and can't figure out why i can't pass a variable to my function event:

..somewhere inside the each loop

var file = 'something';

html+='<li><a href="" onclick="return false;" onmouseup="preview('+file+');" style="background: url('link') no-repeat;"></a></li>';

}

function preview(file)
...
  alert(file);
+1  A: 

What the quoted text looks like with your variable added:

'<li><a href="" onclick="return false;" onmouseup="preview(something);" style="background: url('link') no-repeat;"></a></li>'

Something isn't enclosed in quotes in the concenated string.

Simon Brown
+1  A: 

If your problem is loop you have to add your variable into a closure

--- loop ---
// file is updated into teh loop
html+=(function(loopedVar){
    return '<li><a href="" onclick="return false;" onmouseup="preview('+loopedVar+');" style="background: url('link') no-repeat;"></a></li>';
})(file);

--- end loop ---
blow