【问题标题】:jquery-confirm dialog content not updating on form changejquery-confirm 对话框内容不会在表单更改时更新
【发布时间】:2018-07-11 02:01:53
【问题描述】:

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

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

但是,由于 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-confirm 的内容中。内容始终显示表单输入的初始状态。

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

谁能告诉我如何正确地将表单的值绑定到 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/

【问题讨论】:

  • 能显示相关的html代码吗?
  • 我不确定这会如何澄清事情,但我将它们包含在编辑中。
  • 如果我选择2,结果会是什么?
  • jquery 确认对话框内容将保持不变。对于此示例,因为 1 将是初始设置值。该值将在对话框中保持为 1。并且输入值将保持空白。
  • 添加了 jsfiddle jsfiddle.net/uxfb8myp/2

标签: jquery jquery-confirm


【解决方案1】:

使用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
            }
        }
    }); 
});

【讨论】:

  • 嘿卡兰!非常感谢!那行得通!我从来不知道这是如何处理从 jquery 中更新动态内容的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-16
  • 2015-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多