我想将 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;
}
而不是像这样附加您的点击处理程序:
$('#btnAddApprover').attr('onClick', 'if (!setApprovers(\'' +cntrl + '\')) return false;');
试试这个:
$('#btnAddApprover').on('click', function() {
setApprovers(cntrl);
});
如果您需要删除以前添加的事件侦听器,可以使用以下方法:
$('#btnAddApprover').off('click');
或者,如果您想附加侦听器以仅收听一次,则可以使用:
$('#btnAddApprover').one('click', function() {
setApprovers(cntrl);
});
(用one
代替on
)。希望这可以帮助!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句