【问题标题】:How to pass data value from Bootstrap Modal to Parent form如何将数据值从引导模式传递到父表单
【发布时间】:2016-12-15 14:49:25
【问题描述】:

如何将数据属性或单击事件从 Bootstrap 模式传递到父窗体/窗口。

例如, 单击下面的输入框时,将弹出具有数据属性的 div 的模式

<input type="text" name="menu_image_id" class="form-control" data-toggle="modal" data-target=".show_modal_w" />

<input type="text" name="menu_image_id_2" class="form-control" data-toggle="modal" data-target=".show_modal_w" />

模态窗口

<div class="modal fade show_modal_w" tabindex="-1" role="dialog">
    <div class="modal-dialog modal-lg" role="document">
        <div data-id="1"  data-dismiss="modal">Hello</div>
        <div data-id="2"  data-dismiss="modal">Welcome</div>
        <div data-id="3"  data-dismiss="modal">Morning</div>
    </div>
</div>

现在当用户点击模态框内的 div 时,例如 Hello、Welcome 或 Morning,然后我们需要将 id 值从模态框传递到名为 menu_image_id 的父输入框。

我尝试使用以下关闭功能,但无法将模态数据 id 获取到父窗口。

$('.show_modal_w').on('hidden.bs.modal', function (e) {
    $(e.relatedTarget);
})

【问题讨论】:

    标签: javascript jquery twitter-bootstrap


    【解决方案1】:

    我正在尝试与你不同的方式,

    我没有捕获 hidden.bs.modal,而是捕获了 div.on.click,所以不是:

    $('.show_modal_w').on('hidden.bs.modal', function (e) {
        $(e.relatedTarget);
    })
    

    我写的

    $("body").on("click", ".show_modal_w div[data-id]", function() {
        $("input[name='menu_image_id']").val($(this).data("id") + " - " + $(this).text());
        $(".show_modal_w").modal("hide");
    });
    

    这是一个 jsfiddle:https://jsfiddle.net/f9urohoo/ 我使用 [name="menu_image_id"] 将点击的 div 的 id 和文本放入输入中,但您可以根据需要进行调整。

    告诉我是不是你想要的

    【讨论】:

    • 感谢您的解决方案。效果很好,面临的问题是,即使我们有多个名称,它总是将值放入 name=menu_image_id ,有没有办法使 menu_image_id 成为动态的,就像我们需要捕获点击输入名称字段一样.
    • @Vinoth Kumar 我不确定你到底想要什么,你解释一下你想要的典型工作流程?
    • 是的,我已经解决了这个问题,方法是为每个输入框添加唯一的 id [存储图像 id] 并使用 e.relatedTarget 将该值传递给模态,并在该模态中放置一个隐藏的输入框来存储输入框唯一键值。然后单击模态div后,我通过body搜索了存储在模态隐藏框中的唯一键并将模态div单击的id放在那里。终于解决了 :-) 感谢 Gille 的大力帮助
    • 很高兴我能帮助你找到你自己的方式:)
    猜你喜欢
    • 1970-01-01
    • 2020-02-24
    • 1970-01-01
    • 2021-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-31
    • 1970-01-01
    相关资源
    最近更新 更多