0

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);
skaffman
  • 398,947
  • 96
  • 818
  • 769
PathOfNeo
  • 1,089
  • 4
  • 21
  • 39

2 Answers2

1

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.

Gelatin
  • 2,393
  • 1
  • 24
  • 29
1

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
  • 12,811
  • 24
  • 75
  • 112