【问题标题】:How to pass a HTML control to another javascript function如何将 HTML 控件传递给另一个 javascript 函数
【发布时间】: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


【解决方案1】:

而不是像这样附加您的点击处理程序:

$('#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)。希望这会有所帮助!

【讨论】:

    【解决方案2】:

    代替

    $('#btnAddApprover').attr('onClick', 'if (!setApprovers(\''  +cntrl + '\')) return false;');
    

    使用

    $('#btnAddApprover').click(function() {
      return setApprovers(cntrl);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-14
      • 1970-01-01
      • 1970-01-01
      • 2012-10-17
      相关资源
      最近更新 更多