0 javascript parameters dynamic onclick
这是我的问题:
我正在动态创建一个带有onclick函数的按钮,如下所示:
$("#test).html('<input type="button" value="Close" onclick="remove('+param1+','+param2+');" />');
Run Code Online (Sandbox Code Playgroud)
参数很好读,但函数不是触发器,我有这个错误信息:当bob是param1的字符串值时,"bob未定义".
显然,当它应该被读作字符串时,bob被读作变量,但我不明白为什么.
非常感谢您的帮助!
那是因为这个字符串就在这里:
'onclick="remove('+param1+','+param2+');"'
Run Code Online (Sandbox Code Playgroud)
最终看起来像这样:
'onclick="remove(foo, bar);"'
Run Code Online (Sandbox Code Playgroud)
您可能希望它看起来像这样:
'onclick="remove(\'foo\', \'bar\');"'
Run Code Online (Sandbox Code Playgroud)
所以改成它:
'onclick="remove(\''+param1+'\', \''+param2+'\');"'
Run Code Online (Sandbox Code Playgroud)
你也可以这样做:
$("#test").html('<input type="button" value="Close" />').find('input[type=button]').click(function () {
remove(param1, param2);
});
Run Code Online (Sandbox Code Playgroud)
编辑:我也注意到你错过了一个"来自你的$() - 电话:$("#test)应该是$("#test").