首页 > 解决方案 > 将变量传递给jquery模式对话框打开函数

问题描述

我试图在两个 fetch 方法的错误上显示一个 jquery 模式对话框。除了打开功能中的主体外,模态对话框是相同的。我只想创建一个函数并将正文文本作为参数从 fetch 方法传递。我该怎么做?

const fetchCallOne = () => {
  try {
  } catch(err) {
    alertForDialogFetchCallOne.dialog('open');
  }
}

const fetchCallTwo = () => {
  try {
  } catch(err) {
    alertForDialogFetchCallTwo.dialog('open');
  }
}

const alertForDialogFetchCallTOne = $('<div></div>').dialog({
  title: 'Note',
  modal: true,
  autoOpen: false,
  open: function() {
    $(this).html('Fetch Call One Error');
  },
  buttons: {
    Ok: function() {
      $(this).dialog('close');
    },
  },
});

const alertForDialogFetchCallTwo = $('<div></div>').dialog({
  title: 'Note',
  modal: true,
  autoOpen: false,
  open: function() {
    $(this).html('Fetch Call Two Error');
  },
  buttons: {
    Ok: function() {
      $(this).dialog('close');
    },
  },
});

如上所示,唯一的区别是bodyof open。那么如何只创建一个函数并使用参数调用它呢?

例如:

alertForDialogAnyFetchCall.dialog('open').body('Fetch Call One Error');
alertForDialogAnyFetchCall.dialog('open').body('Fetch Call Two Error');

标签: javascriptjquery

解决方案


我希望这就是你要找的

function message(type){
alert(type);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button onClick=message("open")> Click me </button>


推荐阅读