等待jquery确认执行结束

时间:2017-11-24 20:28:51

标签: javascript jquery

我有一个JSF commandButton调用onclick函数来确认操作。参见:

 <h:commandButton actionListener="#{myMB.go}" onclick="return confirmYesOrNo('Remove Row','Are you sure ?')" />

问题是我的commandButton被单击,独立于confirmYesOrNo函数中的结果。参见:

function confirmYesOrNo(title, content, actionYes, actionNo) {
    var confirmReturn;
    if (!actionYes){
        actionYes = function(){
            return true;
        }
    }

    $.confirm({
        theme: themeDefault,
        title: title,
        content: content,
        buttons: {
            sim: {
                text: 'Sim',
                action: confirmReturn = actionYes,
            },
            nao: {
                text: 'Não',
                action: confirmReturn = actionNo
            }
        }
    });

    return confirmReturn;
}

你可以看到我试图抓住按钮Yes(Sim)和按钮No(não)的返回作为返回(confirmReturn)发送。问题是变量confirmReturn在用户点击选项之前返回。

如果我使用普通confirm()一切正常,javascript等待一个选项并返回onclick,但我需要一个比默认confirm()更“漂亮”的组件。

1 个答案:

答案 0 :(得分:0)

我认为你应该添加两个按钮:

action: function () {
  return actionYes 
}

action: function () {
      return actionNo
}

并从下方删除退货