![](/img/trans.png)
[英]How to pass a javascript/jquery function from one html page to another
[英]How to pass a HTML control to another javascript function
我想將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').click(function() {
return setApprovers(cntrl);
}
而不是像這樣附加點擊處理程序:
$('#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
)。 希望這可以幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.