javascript - Function parameter used in jQuery selector -
i have event handler appends new row table.
$("#pre_script_12").change(function() { $("#selected_pre_scripts") .append("<tr><td><a href='javascript:movescriptup(" + this.id + ")'>move</a></td></tr>"); movescriptup() looks this:
function movescriptdown(id) { current = $("tr." + id).eq(1); $(current).prev().before($(current).next()); $(current).prev().before($(current).next()); } however, getting error when when appending id tr..
error: syntax error, unrecognized expression: tr.[object htmlinputelement] how can supply id parameter above javascript function without getting error when attempting use in jquery selector?
you need quote strings in function call.
right now, <a> tag looks this:
<a href='javascript:movescriptup(pre_script_12)'>move</a> in (most) browsers, elements ids become global variable, pre_script_12 refers element. need add quotes, you're passing string:
$("#selected_pre_scripts") .append("<tr><td><a href='javascript:movescriptup(\"" + this.id + "\")'>move</a></td></tr>"); p.s. highly reccomend, not using inline javascript. why not bind (delegated) event handler call movescriptup() function?
Comments
Post a Comment