无法将多个字符串值作为参数发送给 JavaScript 函数
我的服务器端编码如下:
_
json += "<td><input type='checkbox' id='chkBoxHelp' onclick='chkbox('" + dt.Rows[i][1].ToString() + "','" + dt.Rows[i][2].ToString() + "');'";
我的客户端编码如下:
function chkbox(id,name) {
alert(id,name);
}
最佳答案
由于您已使用 '
引用属性值,因此它会在其中的第一个 '
处结束。
相反,请使用"
:
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
等)来连接该函数,并让该函数从元素中检索值。
关于javascript - 将多个字符串值作为参数从服务器端传递给 JavaScript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45894275/