如何在不刷新页面的情况下格式化模式内容

时间:2018-10-26 02:44:41

标签: javascript jquery ruby-on-rails

我现在正在开发Rails应用程序,并且在刷新模式内容而不重新加载页面时遇到一些问题。 我已经在html.erb文件中创建了一个模态,如果单击按钮,则模态会打开,当我在步骤中单击关闭按钮时,模态会关闭,模态的内容(例如:input和textarea的值)仍然剩下的。 如何在不刷新页面的情况下将模式格式设置为默认格式。

这里是模态结构

<div class="modal fade new-invest-modal" id="new-investment-modal" tabindex="-1" role="dialog" aria-labelledby="exampleModalThree" aria-hidden="true">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="tabs-wrap">
        <ul class="nav nav-tabs modal-navs-two" id="myTabTwo" role="tablist">
          <li class="nav-item">
            <a class="nav-link active" id="start-invest-tab" data-toggle="tab" href="#start-invest" role="tab" aria-controls="start-invest" aria-selected="true"></a>
          </li>
          <li class="nav-item">
            <a class="nav-link" id="new-invest-name-tab" data-toggle="tab" href="#new-invest-name" role="tab" aria-controls="new-invest-name" aria-selected="false"></a>
          </li>
        </ul>
        <div class="tab-content" id="myTabContentTwo">
          <div class="tab-pane fade show active default-text-wrapper" id="start-invest" role="tabpanel" aria-labelledby="start-invest-tab">
            <div class="modal-body">
             ...
            </div> <!-- /.modal-body -->
          </div> <!-- /.tab-pane -->

          <div class="tab-pane fade" id="new-invest-name" role="tabpanel" aria-labelledby="new-invest-name-tab">
            <div class="main-container clearfix">
            ...
            </div> <!-- /.main-container -->
         </div> <!-- /.tab-pane -->
      </div>
    </div>

告诉我简单的方法。谢谢

1 个答案:

答案 0 :(得分:1)

您必须重写模式opening的功能才能使它起作用。

假设您输入的字段为:

<div class="modal fade new-modal" id="test-modal" tabindex="-1" role="dialog" aria-hidden="true">
<input type="text" id="test-input" value="test">

您将不得不使用JQuery覆盖其功能。

我们还假设您的模式ID类似于test-modal

$('#test-modal').on('shown.bs.modal', function (e){//shown.bs.modal will
                                                   //trigger before modal is opened.
  $('#test-input').val('');//this will make the values in the input field empty
});