Yii2 + 2amigos DateRangePicker 模块。不能正常工作

Yii2 + 2amigos DateRangePicker module. Doesn't work correctly

我已将 DateRangePicker 小部件放置在 2 个位置。首先是 Bootstrap 模态 window,通过单击按钮打开。第二个我想在没有模态的页面上显示 window。结果是它在模式 window 中正常工作,但页面上的第二个工作不正常,我的意思是它看起来和显示正确但在单击字段时不显示日历。

模态中的代码是:

<div class="modal fade" id="responsive" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                <h4 class="modal-title" id="myModalLabel4">Book</h4>
            </div>
            <div class="modal-body">
                <?php $form = ActiveForm::begin(); ?>
                    ...
                    <?= $form->field($model, 'start_date')->widget(DateRangePicker::className(), [
                        'attributeTo' => 'end_date', 
                        'language' => 'ru',
                        'labelTo' => 'до',
                    //    'size' => 'lg',
                        'clientOptions' => [
                            'autoclose' => true,
                            'format' => 'yyyy-mm-d',
                            'todayHighlight' => true,
                        ]
                    ])->label('Укажите период');?>                        
                    ...
                <?php ActiveForm::end(); ?>
            </div>
        </div>
    </div>
</div>

页面上div:

<div>
    <?php $form = ActiveForm::begin(); ?>
        ...
        <?= $form->field($model, 'start_date')->widget(DateRangePicker::className(), [
            'attributeTo' => 'end_date', 
            'language' => 'ru',
            'labelTo' => 'до',
        //    'size' => 'lg',
            'clientOptions' => [
                'autoclose' => true,
                'format' => 'yyyy-mm-d',
                'todayHighlight' => true,
            ]
        ])->label('Укажите период');?>                        
        ...
    <?php ActiveForm::end(); ?>
</div>

P.S。当我使用 DatePicker 小部件时存在同样的问题。又过了一会儿,我又添加了一个模式,但它在那里也不起作用。仅在第一个模态中。

再等一下:我尝试添加没有模型的简单 DatePicker 小部件,它可以工作。

<?= DatePicker::widget([
'name' => 'Test',
'value' => '02-16-2012',
'template' => '{addon}{input}',
    'clientOptions' => [
        'autoclose' => true,
        'format' => 'dd-M-yyyy'
    ]
]);?>

我在使用模型添加此小部件时出现问题。

我认为您的问题发生是因为您对两个小部件使用了相同的 model-attribute。因此,一页有两个具有相同 idname 属性的输入。在这种情况下,JS 库无法正确处理它们。只需尝试为第二个小部件使用其他属性名称。它可能会有所帮助。

PS:我不确定,但可能存在为第二个小部件定义其他 idname 的方法(可能使用 clientOptions)。这取决于 JS 库及其版本。