Twitter bootstrap 模式中TEXTAREA的内容在重新打开时保持不变

Twitter bootstrap 模式中TEXTAREA的内容在重新打开时保持不变,twitter-bootstrap,bootstrap-4,bootstrap-modal,Twitter Bootstrap,Bootstrap 4,Bootstrap Modal,我在Bootstrap 4模式对话框中有一个textarea,如下所示: <div class="modal fade" id="updateTitle" tabindex="-1" role="dialog"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"&g

我在Bootstrap 4模式对话框中有一个
textarea
,如下所示:

<div class="modal fade" id="updateTitle" tabindex="-1" role="dialog">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <div class="modal-title">Update title of ticket</div>
                <button class="close" data-dismiss="modal" aria-label="Close"></button>
            </div>
            <div class="modal-body">
                <form>
                    <div class="form-group">
                        <textarea id="titleText"></textarea>
                    </div>
                </form>
            </div>
            <div class="modal-footer">
                <button class="btn btn-primary">Save changes</button>
                <button class="btn btn-secondary" type="button" data-dismiss="modal">Close</button>
            </div>
         </div>
    </div>
</div>
</div>

<p id="title">Test</p>
$("#updateTitle").on("show.bs.modal", function(event) {
    $("#titleText").text($("#title").text());
})
我还没有添加代码来保存更改。我在
textarea
中测试了修改文本,取消了对话框并再次打开。重新打开时,
text区域
显示修改后的文本,而不是
$(“#title”).text()

例如,如果我将
Test
更改为
Test123
,则在重新打开时显示
Test123
,即使上面的脚本代码已将其恢复为
Test

我设置了一个断点,可以确认每次打开对话框时都执行了上述脚本。但是,
textarea
只是不显示


这是故意的吗?

您看到的问题是因为您在
show.bs.modal
上更改了
文本,但当您在该
上键入时,实际上是在设置其

关于这一点,它说:

.text()方法不能用于表单输入或脚本。要设置或获取输入或textarea元素的文本值,请使用.val()方法

因此,修复方法是使用
.val()


小提琴:

嗯。。。我认为
textarea
input
不同。谢谢
$("#updateTitle").on("show.bs.modal", function(event) {
    $("#titleText").val($("#title").text());
});