jquery-确认对话框内容不会在表单更改时更新

jquery-confirm dialog content not updating on form change

我目前遇到了 jquery-confirm 插件的问题,我无法动态更改内容。

基本上我想做的是,列出 jquery-确认对话框内容中填充的表单输入的所有内容。

但是,由于 jquery-confirm 的初始化发生在文档就绪事件中,内容仅检索表单输入的初始状态。

这是我使用的代码

 $(document).ready(function() {
        $(".confirm").confirm({
            title: 'Submit the Form?',
            content: 'Form Select Value:' + $("#formSelect option:selected").text() +' <br />  Form Input Value: '+  $("#formInput").val() +' <br /> ',
            buttons: {
                formSubmit: {
                    text: 'Submit',
                    action: function () {
                        $('#myForm').submit();
                    }
                },
                cancel: function () {
                    //close
                }
            }

        }); 
});

问题是无论我对表单输入进行什么更新,更改都不会显示在 jquery-确认的内容中。内容始终显示表单输入的初始状态。

我已经尝试在单击表单按钮时附加确认初始化以尝试捕获更改,但它仍然无济于事。

谁能告诉我如何正确地将表单的值绑定到 jquery-confirm 的内容中?

编辑:(包括 HTML 表格的简化版本)

  <form id="myForm"  method="post" action="/processThisForm" >
      <select id="formSelect" name="formSelect" >
         <option value="1">1</option>
         <option value="2">2</option>
         <option value="3">3</option>
      </select>
      <input type="text" id="formInput" />
      <button class="confirm">Save</button>
   </form>

编辑 2:

为此代码创建了一个 jsfiddle

https://jsfiddle.net/uxfb8myp/2/

使用 function 更新您的 content 字段分配,如下所示。

content: function() { 
    return 'Form Select Value:' + $("#formSelect option:selected").text() +' <br />  Form Input Value: '+  $("#formInput").val() +' <br /> '
},

您的完整 $(".confirm").confirm() 应该如下所示。

$(document).ready(function() {
    $(".confirm").confirm({
        title: 'Submit the Form?',
        content: function() { 
            return 'Form Select Value:' + $("#formSelect option:selected").text() +' <br />  Form Input Value: '+  $("#formInput").val() +' <br /> '
        },
        buttons: {
            formSubmit: {
                text: 'Submit',
                action: function () {
                    $('#myForm').submit();
                }
            },
            cancel: function () {
                //close
            }
        }
    }); 
});