Bootstrap 4 - 复选框在 Bootstrap 模式的弹出框内无法正常工作

Posted

技术标签:

【中文标题】Bootstrap 4 - 复选框在 Bootstrap 模式的弹出框内无法正常工作【英文标题】:Bootstrap 4 - Checkbox not working properly inside popover in Bootstrap modal 【发布时间】:2019-04-26 12:09:12 【问题描述】:

Bootstrap Modal 的弹出框内有两个复选框。小提琴是here。

HTML:

<div class="container-fluid">
    <div class="row">
        <div class="col-12">
            <button type="button" class="btn btn-primary open-modal" data-toggle="modal" data-target="#bs-modal">
            Open Modal
            </button>
            <div class="modal fade" id="bs-modal" tabindex="-1" role="dialog" aria-hidden="true">
                <div class="modal-dialog modal-lg" role="document">
                    <div class="modal-content">
                        <div class="modal-header">
                            <h5 class="modal-title" id="exampleModalLabel">Bootstrap 4 Modal</h5>
                            <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                            <span aria-hidden="true">&times;</span>
                            </button>
                        </div>
                        <div class="modal-body">
                            <button type="button" class="btn btn-secondary btn-sm bs-popover" data-container="body" data-toggle="popover">
                            Show Popover
                            </button>
                            <div id="popover-content">
                                <div class="form-check">
                                    <input class="form-check-input" type="checkbox" value="1"
                                        id="default-checkbox" name="default-checkbox">
                                    <label class="form-check-label" for="default-checkbox">
                                    Default Checkbox
                                    </label>
                                </div>
                                <br>
                                <div class="custom-control custom-checkbox">
                                    <input type="checkbox" class="custom-control-input" id="custom-checkbox" name="custom-checkbox" value="2">
                                    <label class="custom-control-label" for="custom-checkbox">Custom Checkbox</label>
                                </div>
                            </div>
                        </div>
                        <div class="modal-footer">
                            <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
                            <button type="button" class="btn btn-primary">Save changes</button>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

CSS:

.open-modal 
    margin: 20px;

.modal-body 
    min-height: 200px;

#popover-content 
    display: none;

JS:

$('.bs-popover').popover(
    html: true,
    content: function() 
        return $('#popover-content').html();
    ,
    title: 'Popover Title'
);

1.默认复选框的问题:我无法通过单击标签来检查它。

2。自定义复选框的问题:无法选中。

为什么会这样?我该如何解决?任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

将复选框包装在标签标签内:

<div class="form-check">
  <label class="form-check-label">
    <input class="form-check-input" type="checkbox" value="1"/>
    Default checkbox
  </label>
 </div>

并将您的自定义复选框更改为:

<div class="form-group">
   <label class="custom-control custom-checkbox">
   <input type="checkbox" value="2" name="chbxTerms" class="custom-control-input">
   <span class="custom-control-label" for="chbxTerms">Custom checkbox</span>
   </label>
 </div>

工作人员:http://plnkr.co/edit/yy4sshzCnSmuso0XocOX?p=preview

【讨论】:

这根本不起作用。标签也略微垂直未对齐。

以上是关于Bootstrap 4 - 复选框在 Bootstrap 模式的弹出框内无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

更改 Bootstrap 4 复选框背景颜色

如何设计控制下拉菜单和复选框并排在旁边 MVC 5 Bootstrap 4

如何检查 Bootstrap 4 的自定义复选框状态?

如何在 Bootstrap 4 模态表单中重置单选按钮和复选框? [复制]

Bootstrap 4 复选框/开关控制 - 如何变小(-sm)?

bootstrap 教程分享