javascript - 一页中多种不同类型的模态框

标签 javascript jquery html twitter-bootstrap

在我们的页面中,我们尝试根据按钮的数据目标属性设置 3 种不同类型的模式。我们只能显示第一个模态,并且可以获取要显示的数据,第二个和第三个模型不会显示。 这是所有模式的代码:

<div class="modal fade" id="staticBackdrop" tabindex="-1" role="dialog" aria-labelledby="staticBackdropLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
 <div class="modal-header">
 <h5 class="modal-title" id="staticBackdropLabel">Shift Details</h5>
 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
 <span aria-hidden="true">&times;</span>
</button>
 </div>
                  <div class="modal-body" id="normalBody">
                   <p id="normalText"></p>
                   <div class="modal-footer">
 <div id="success-text"></div>
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
 <button id="subOutButton" type="button" class="btn btn-secondary">Sub-Out</button>
 <button id="subInButton" type="button" class="btn btn-secondary">Sub-In</button>
                   </div>
</div>
</div>
</div>

<div class="modal fade" id="yourShift" tabindex="-1" role="dialog" aria-labelledby="yourShiftLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
 <div class="modal-header">
 <h5 class="modal-title" id="yourShiftLabel">Shift Details</h5>
 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
 <span aria-hidden="true">&times;</span>
</button>
 </div>
                  <div class="modal-body" id="yourShiftBody">
                   <p id="yourShiftText"></p>
                   <div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
 <button type="button" class="btn btn-secondary" data-dismiss="modal">Sub-Out</button>
                   </div>
</div>
</div>
</div>

<div class="modal fade" id="needsSub" tabindex="-1" role="dialog" aria-labelledby="needsSubLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
 <div class="modal-header">
 <h5 class="modal-title" id="needsSubLabel">Shift Details</h5>
 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
 <span aria-hidden="true">&times;</span>
</button>
 </div>
                  <div class="modal-body" id="needsSubBody">
                   <p id="needsSubText"></p>
                   <div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
 <button type="button" class="btn btn-secondary" data-dismiss="modal">Sub-In</button>
                   </div>
</div>
</div>
</div>

以下是触发模式的按钮的示例代码:

<td id="monDinner" day ="0">
<div class="list-group">
<a id="monDinnerManager" taskid = 1 class="list-group-item list-group-item-action list-group-item-light" data-container="body" data-toggle="modal"
   data-target=“#yourShift”>Manager</a>
<a id="monFirstDinner" taskid = 2 class="list-group-item list-group-item-action list-group-item-light" data-container="body" data-toggle="modal"
   data-target="#staticBackdrop">First Dinner</a>
 <a id="monSecondDinner" taskid = 3 class="list-group-item list-group-item-action list-group-item-light" data-container="body" data-toggle="modal"
   data-target="#staticBackdrop">Second Dinner</a>
</div>
</td>

这是应该填充正文的 javascript 代码:

if (modalId == '#staticBackdrop') {
           console.log("here");
           $('#normalText').load(dataURL,function() {
$('#staticBackdrop').modal('show');
});
           }
           else if (modalId == '#yourShift') {
           console.log(modalId);
           $('#yourShiftText').load(dataURL,function() {
           $('#staticBackdrop').modal({show:false});
           $('#needsSub').modal({show:false});
$('#yourShift').modal({show:true});
});
           }
           else {
           $('#needsSubText').load(dataURL,function() {
$('#modal-body').modal({show:true});
});
           }

提前非常感谢您!

最佳答案

你忘记添加一些关闭</div>在您的代码中(我已用注释“there”标记它):

    <div class="modal fade" id="staticBackdrop" tabindex="-1" role="dialog" aria-labelledby="staticBackdropLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
 <div class="modal-header">
 <h5 class="modal-title" id="staticBackdropLabel">Shift Details</h5>
 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
 <span aria-hidden="true">&times;</span>
</button>
 </div>
                  <div class="modal-body" id="normalBody">
                   <p id="normalText"></p>
                  </div> <!-- there -->
                   <div class="modal-footer">
 <div id="success-text"></div>
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
 <button id="subOutButton" type="button" class="btn btn-secondary">Sub-Out</button>
 <button id="subInButton" type="button" class="btn btn-secondary">Sub-In</button>
                   </div>
</div>
</div>
</div>

<div class="modal fade" id="yourShift" tabindex="-1" role="dialog" aria-labelledby="yourShiftLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
 <div class="modal-header">
 <h5 class="modal-title" id="yourShiftLabel">Shift Details</h5>
 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
 <span aria-hidden="true">&times;</span>
</button>
 </div>
                  <div class="modal-body" id="yourShiftBody">
                   <p id="yourShiftText"></p>
                   </div> <!-- there -->
                   <div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
 <button type="button" class="btn btn-secondary" data-dismiss="modal">Sub-Out</button>
                   </div>
</div>
</div>
</div>

<div class="modal fade" id="needsSub" tabindex="-1" role="dialog" aria-labelledby="needsSubLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
 <div class="modal-header">
 <h5 class="modal-title" id="needsSubLabel">Shift Details</h5>
 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
 <span aria-hidden="true">&times;</span>
</button>
 </div>
                  <div class="modal-body" id="needsSubBody">
                   <p id="needsSubText"></p>
                   </div> <!-- and there -->
                   <div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
 <button type="button" class="btn btn-secondary" data-dismiss="modal">Sub-In</button>
                   </div>
</div>
</div>
</div>

关于javascript - 一页中多种不同类型的模态框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61163337/

相关文章:

javascript - jquery 目标在下拉列表中选择的选项

javascript - Bootbox.js - 启用/禁用按钮 + 自定义 jquery - 如何?

javascript - Ajax Html Editor Extender - 无法获得高度

php - 表单发送空白值

php - 表单提交后,滚动到表单

html - 如果特定字符串,Rails 或 CSS 替换表格单元格内容?

Javascript:从私有(private)函数访问公共(public)变量

javascript - 如果所有子级都隐藏在 jquery 中,如何隐藏父级 <li>

javascript - 按下 Enter 键时如何触发 Tab 按键?

javascript - JQuery 脚本的小问题