【发布时间】:2018-11-08 12:10:44
【问题描述】:
我有一个表,表中的最后一列有一个复选框,当用户单击一个复选框时,我想将行值传递给不同的函数,但是当我这样做时,代码没有t 似乎正在开火,我错过了什么吗?
function GetContractors(companyName) {
var workforce = companyName;
$.ajax({
type: 'GET',
url: '@Url.Action("getContractors","Permit")',
contentType: "application/json; charset=utf-8",
dataType: "json",
data: { "workforce": workforce },
success: function (result) {
$("#mainData").empty();
$.each(JSON.parse(result),
function (i, item) {
var row = i + 1;
$("#mainData").append(
"<tr>" +
"<td id='process_" + row + "'" + ">" + item.ContractorName + "</td>" +
"<td bgcolor= " + "'" + cellColour1 + "'" + " id='process_" + row + "'" + ">" + parseJsonDate(item.InductionExpiry) + "</td>" +
"<td bgcolor= " + "'" + cellColour + "'" + " id='process_" + row + "'" + ">" + parseJsonDate(item.InsuranceExpiry) + "</td>" +
"<td id='Action" + row + "'" + ">" +
"<checkbox id='checkbox' class='btn btn-xs btn-success " +
"'" + "onclick='SelectedUser(" + item.ContractorName + ")" +
"'" + ">" + "<i class='glyphicon glyphicon-trash" +
"'" + "></i>" + "</checkbox>" + " " +
"</tr>");
});
},
error: function (result) {
alert(result);
}
});
};
function SelectedUser(name)
{
alert(name);
}
【问题讨论】:
-
want to pass a row value to a different function你只是路过{ "workforce": workforce },我错过了什么吗? -
如果
item.ContractorName的值是john,javascript 将看到 onclick 处理程序代码为SelectedUser(john),因此 javascript 将尝试查找名为 john 的变量,该变量不存在并且错误将是抛出。 TLDR:硬编码字符串参数缺少引号。 -
我想在单击复选框时将“contractorName”传递给函数 selectUser
-
尝试 onchange 而不是 onclick。另外,在您的 DOM 中查看究竟呈现了什么。
-
声明你的函数“window.SelectedUser = function(name){ ... };”
标签: javascript jquery asp.net ajax