无法将多个字符串值作为参数发送到javascript函数
我的服务器端编码如下:
_
SELECT
(COUNT(*)::float / (current_date - ( current_date - INTERVAL '1 month')) AS "avg_per_day"
FROM "table" tb;
我的客户端编码如下:
json += "<td><input type='checkbox' id='chkBoxHelp' onclick='chkbox('" + dt.Rows[i][1].ToString() + "','" + dt.Rows[i][2].ToString() + "');'";
答案 0 :(得分:1)
由于您已使用'
引用了属性值,因此它会在其中的第一个'
处结束。
相反,请使用"
:
json += "<td><input type='checkbox' id='chkBoxHelp' onclick='chkbox(\"" + dt.Rows[i][1].ToString() + "\",\"" + dt.Rows[i][2].ToString() + "\");'";
// -----------------------------------------------------------------^^--------------------------------^^-^^--------------------------------^^
或者,当然,根本不使用内联onxyz
- 属性风格的处理程序,因为它们有几个问题,尤其是像chkBoxHelp
这样的函数必须是全局的。
例如,您可以将参数存储为data-*
值:
json += "<td><input type='checkbox' id='chkBoxHelp' data-id='" + dt.Rows[i][1].ToString() + "' data-name='" + dt.Rows[i][2].ToString() + "'";
// -------------------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...并使用现代事件处理(addEventListener
等)来连接函数,并让函数从元素中检索值。