【发布时间】:2018-01-19 21:30:30
【问题描述】:
我想将 HTML 控件传递给 JavaScript 中的另一个函数。我正在调用具有输入控件和保存按钮的模式弹出窗口。
我调用模态弹出窗口的函数将整个GridView 行作为参数。我想将此传递给另一个 javascript 函数,该函数将在模态对话框内单击按钮时调用。
我尝试如下,但它传递了一个字符串变量。
function ShowDialogPeoplePicker(id, requestType, cntrl) {
var row = cntrl.parentNode.parentNode;
var rowIndex = row.rowIndex - 1;
var Approvers = row.cells[1].getElementsByTagName("span")[0];
if (requestType == "AddApprovers") {
$('#btnAddApprover').removeAttr('onclick');
$('#btnAddApprover').attr('onClick', 'if (!setApprovers(\'' +cntrl + '\')) return false;');
}
}
以下函数将在单击按钮时被调用,并将设置 GridView 行内的值。
function setApprovers(cntrl)
{
var usernames= $("#hdnApproversName_CTO").val();
var row = cntrl.parentNode.parentNode;
var rowIndex = row.rowIndex - 1;
row.cells[1].getElementsByTagName("span")[0].innerHTML = usernames;
$("#overlayTasks").hide();
$("#dialogTasks").hide();
return false;
}
【问题讨论】:
-
$(cntrl) 是您的 html 元素,那么行将是 $(cntrl).parent().parent()。虽然我不明白为什么它不会像你写的那样工作。并且避免混合js和jquery。坚持一个,让包括你自己在内的每个人都更清楚。
标签: javascript jquery html asp.net gridview