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

标签 javascript c# jquery asp.net

无法将多个字符串值作为参数发送给 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/

相关文章:

jQuery 动画 .stop() 问题

javascript - 获取增加的值但不获取减少的值

javascript - 相机旋转指针锁定控件

c# - 通过 cookie 控制对页面的访问

c# - Entity Framework 异常已被调用的目标抛出

javascript - 选中复选框时如何使图像覆盖图像 Jquery

php - 不会更新数据库中的记录

javascript - 仅跟踪过去一周帖子浏览量的功能

javascript - 单选按钮上的 onchange 事件

c# - ActiveX 控件 '6bf52a52-394a-11d3-b153-00c04f79faa6' 无法实例化,因为当前线程不在单线程单元中