我对select2和模态有一点问题。我在模式中插入了一个multiple = true的select输入,但这就是结果。 First screen。
首先,输入的数据非常小,并且当我添加学生时,输入会扩大(我希望它是预定义的维度。)第二个问题是,如果添加学生,则学生列表会落后您在this screen上看到的模态。
我该如何解决这两个问题? 这是我在StudentsController.php中的学生列表:
$students = $this->Students->find('list', ['limit' => 200]);
这是我的输入:
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Add student</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<?= $this->Form->create(null, ['url' => ['controller' => 'Lessons', 'action' => 'addpresences', $lesson->id]]); ?>
<div class="form-group">
<?= $this->Form->control('students_id', [
'type' => 'select',
'multiple' => true,
'options' => $students,
'hiddenField' => false,
'id' => 'students_id',
'class' => 'form-control',
'label' => false
]);
?>
</div>
</div>
<div class="modal-footer">
<?= $this->Form->button('Zapisz', ['class' => 'btn btn-primary']) ?>
<?= $this->Form->end() ?>
</div>
</div>
</div>
编辑1:
我只需将width: '100%'
添加到
$('#students_id').select2({
tag: true,
multiple: 'multiple',
width: '100%'
});
编辑2: 我也解决了第二个问题:只需添加 dropdownParent:$('#myModal')
$('#students_id').select2({
tag: true,
multiple: 'multiple',
width: '100%',
dropdownParent: $('#exampleModal')
});