将多个字符串值作为参数从服务器端传递到javascript函数

时间:2017-08-26 10:12:33

标签: javascript c# jquery asp.net

无法将多个字符串值作为参数发送到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() + "');'";

1 个答案:

答案 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等)来连接函数,并让函数从元素中检索值。