在wbraganca动态表单上运行脚本添加按钮单击 - Yii2

时间:2016-11-18 15:26:10

标签: javascript php yii2

我在yii2工作,我使用wbraganca的动态表单在添加按钮点击时添加新的表单元素。每次单击此按钮时,我都需要重新运行js脚本。

这是php:

ColdFusion 11 Add-on Services

这是脚本,它根据条件进行一些计算并显示/隐藏一些字段:

<?php

use yii\helpers\Html;
use kartik\widgets\ActiveForm;
use yii\helpers\ArrayHelper;
use backend\models\Chofer;
use backend\models\Ayudante;
use backend\models\ViajeGlp;
use backend\models\CarroGlp;
use dosamigos\datepicker\DatePicker;
use dosamigos\datepicker\DateRangePicker;
use kartik\select2\Select2;
use wbraganca\dynamicform\DynamicFormWidget;
/* @var $this yii\web\View */
/* @var $model backend\models\HrutaDistribucion */
/* @var $form yii\widgets\ActiveForm */
?>


    </div>
    <div class="hruta-glp-form">

    <div class="panel panel-default">
    <div class="panel-body">
    <?php $form = ActiveForm::begin(['id' => 'dynamic-form',
        'type'=>ActiveForm::TYPE_HORIZONTAL,
        'formConfig'=>['labelSpan'=>3, 'deviceSize'=>ActiveForm::SIZE_SMALL],
    ]); ?>

    <div class="form-group kv-fieldset-inline">



        <?= Html::activeLabel($model, 'HojaRuta', [
            'label'=>'H. Ruta',
            'class'=>'col-sm-3 control-label'
        ]) ?>

        <div class=" col-sm-3">
            <?= $form->field($model, 'HojaRuta',[
                'showLabels'=>false
            ])->textInput(['placeholder'=>'H. Ruta']); ?>
        </div>



        <?= Html::activeLabel($model, 'Carro', [
            'label'=>'Carro',
            'class'=>'col-sm-2 control-label'
        ]) ?>
        <div class=" col-sm-3">
            <?=  $form->field($model, 'Carro_GLPCarroID',['showLabels'=>false])->widget(Select2::classname(), [
                'data' =>  ArrayHelper::map(CarroGlp::find()->all(),'CarroGLPID','NOperacional'),

                'language' => 'es',
                'options' => ['placeholder' => 'Seleccione ...'],
                'pluginOptions' => [
                    'allowClear' => true
                ],
            ]);?>
        </div>

        <?= Html::activeLabel($model, 'Chofer', [
            'label'=>'Chofer',
            'class'=>'col-sm-3 control-label'
        ]) ?>
        <div class=" col-sm-3">
            <?=  $form->field($model, 'ChoferChofer_ID', [
                'showLabels'=>false
            ])->widget(Select2::classname(), [
                    'data' =>  ArrayHelper::map(Chofer::find()->all(),'Chofer_ID','Nombre'),

                    'language' => 'es',
                    'options' => ['placeholder' => 'Seleccione...'],
                    'pluginOptions' => [
                        'allowClear' => true
                    ],
                ]);?>
        </div>

        <?= Html::activeLabel($model, 'Fecha', [
            'label'=>'Fecha',
            'class'=>'col-sm-2 control-label'
        ]) ?>
        <div class=" col-sm-3">
            <?= $form->field($model, 'Fecha', ['showLabels'=>false])->widget(
                DatePicker::className(), [
                'language' => 'es',
                // inline too, not bad
                // 'inline' => false,
                // modify template for custom rendering
                // 'template' => '<div class="well well-sm" style="background-color: #fff; width:250px">{input}</div>',
                'clientOptions' => [
                    'label'=>false,
                    'todayHighlight' => true,
                    'autoclose' => true,
                    'format' => 'yyyy-m-d'
                ]
            ]);?>
        </div>
        <?= Html::activeLabel($model, 'FechaEmision', [
            'label'=>'Fecha Emision',
            'class'=>'col-sm-3 control-label'
        ]) ?>

        <div class=" col-sm-3">
            <?= $form->field($model, 'FechaEmision', ['showLabels'=>false])->widget(
                DatePicker::className(), [
                'language' => 'es',
                // inline too, not bad
                // 'inline' => false,
                // modify template for custom rendering
                // 'template' => '<div class="well well-sm" style="background-color: #fff; width:250px">{input}</div>',
                'clientOptions' => [
                    'label'=>false,
                    'todayHighlight' => true,
                    'autoclose' => true,
                    'format' => 'yyyy-m-d'
                ]
            ]);?>
        </div>



        <?= Html::activeLabel($model, 'Ayudante', [
            'label'=>'Ayudante',
            'class'=>'col-sm-2 control-label'
        ]) ?>
        <div class=" col-sm-3">
            <?=  $form->field($model, 'AyudanteAyudante_ID', ['showLabels'=>false])->widget(Select2::classname(), [
                'data' =>  ArrayHelper::map(Ayudante::find()->all(),'Ayudante_ID','Nombre'),

                'language' => 'es',
                'options' => ['placeholder' => 'Seleccione ...'],
                'pluginOptions' => [
                    'allowClear' => true
                ],
            ]);?>
        </div>

        <div class="col-sm-1"  > <button type="button" id="agregar"  class="add-item btn btn-success btn-xs glyphicon glyphicon-plus"></button></div>


        <div id = "ayudante1" style="display: none">
            <?= Html::activeLabel($model, 'Ayudante', [
                'label'=>'Ayudante (2)',
                'class'=>'col-sm-8 control-label',

            ]) ?>
            <div class=" col-sm-3" >
                <?=  $form->field($model, 'Ayudante1Ayudante_ID', [
                    'showLabels'=>false
                ])->widget(Select2::classname(), [
                        'data' =>   ArrayHelper::map(Ayudante::find()->all(),'Ayudante_ID','Nombre'),

                        'language' => 'es',
                        'options' => ['placeholder' => 'Seleccione...'],
                        'pluginOptions' => [
                            'allowClear' => true
                        ],
                    ]);?>
            </div>
        </div>

    </div>
    <hr>

    <div class="row">

        <div class="panel panel-default">
            <div class="panel-heading"><h4><i class="glyphicon glyphicon-oil"></i> Viajes</h4></div>
            <div class="panel-body">
                <?php DynamicFormWidget::begin([
                    'widgetContainer' => 'dynamicform_wrapper', // required: only alphanumeric characters plus "_" [A-Za-z0-9_]
                    'widgetBody' => '.container-items', // required: css class selector
                    'widgetItem' => '.item', // required: css class
                    'limit' => 20, // the maximum times, an element can be cloned (default 999)
                    'min' => 1, // 0 or 1 (default 1)
                    'insertButton' => '.add-item', // css class
                    'deleteButton' => '.remove-item', // css class
                    'model' => $modelsViajeGlp[0],
                    'formId' => 'dynamic-form',
                    'formFields' => [
                        'Viajes',
                        'Entregas',
                        'Destino',

                    ],
                ]); ?>

                <div class="container-items"><!-- widgetContainer -->
                    <?php foreach ($modelsViajeGlp as $i => $modelViajeGlp): ?>
                        <div class="item panel panel-default"><!-- widgetBody -->
                            <div class="panel-heading">
                                <h3 class="panel-title pull-left">Viaje</h3>
                                <div class="pull-right">
                                    <button type="button" class="add-item btn btn-success btn-xs"><i class="glyphicon glyphicon-plus"></i></button>
                                    <button type="button" class="remove-item btn btn-danger btn-xs"><i class="glyphicon glyphicon-minus"></i></button>
                                </div>
                                <div class="clearfix"></div>
                            </div>
                            <div class="panel-body">
                                <?php
                                // necessary for update action.
                                if (! $modelViajeGlp->isNewRecord) {
                                    echo Html::activeHiddenInput($modelViajeGlp, "[{$i}]ViajeGlp_ID");
                                }
                                ?>
                                <div id="showHideDiv1" style="display:block">
                                    <?= Html::activeLabel($modelViajeGlp, 'Viajes', [
                                        'label'=>'Cant. Viajes',
                                        'class'=>'col-sm-2 control-label'
                                    ]) ?>

                                    <div class=" col-sm-3">
                                        <?= $form->field($modelViajeGlp, "[{$i}]Viajes",[
                                            'showLabels'=>false
                                        ])->textInput(['placeholder'=>'Viajes']); ?>
                                    </div>
                                </div>


                                <?= Html::activeLabel($modelViajeGlp, 'Destino', [
                                    'label'=>'Destino',
                                    'class'=>'col-sm-1 control-label'
                                ]) ?>
                                <div class=" col-sm-6">
                                    <?= $form->field($modelViajeGlp, "[{$i}]Destino",[
                                        'showLabels'=>false
                                    ])->textInput(['placeholder'=>'Destino']); ?>
                                </div>
                                <?= Html::activeLabel($modelViajeGlp, 'Sector', [
                                    'label'=>'Sector',
                                    'class'=>'col-sm-2 control-label'
                                ]) ?>
                                <div class=" col-sm-3">
                                    <?= $form->field($modelViajeGlp, "[{$i}]Sector", ['showLabels'=>false])->dropDownList([
                                        'Estatal' => 'Estatal', 'Población' => 'Población', ], ['prompt' => 'Seleccionar'])
                                    ?>
                                </div>

                                <?= Html::activeLabel($modelViajeGlp, 'KMRecorridos', [
                                    'label'=>'KM Recorridos',
                                    'class'=>'col-sm-3 control-label'
                                ]) ?>
                                <div class=" col-sm-3">
                                    <?= $form->field($modelViajeGlp, "[{$i}]KMRecorridos",[
                                        'showLabels'=>false
                                    ])->textInput(['placeholder'=>'KMRecorridos', 'id'=>'kms']); ?>

                                </div>
                                <?= Html::activeLabel($modelViajeGlp, 'Cant_Cilindros10', [
                                    'label'=>'Cilindros 10',
                                    'class'=>'col-sm-2 control-label'
                                ]) ?>
                                <div class=" col-sm-3">
                                    <?= $form->field($modelViajeGlp, "[{$i}]Cant_Cilindros10",[
                                        'showLabels'=>false
                                    ])->textInput(['placeholder'=>'Cilindros10']); ?>
                                </div>

                                <?= Html::activeLabel($modelViajeGlp, 'Cant_Cilindros45', [
                                    'label'=>'Cilindros 45',
                                    'class'=>'col-sm-3 control-label'
                                ]) ?>
                                <div class=" col-sm-3">
                                    <?= $form->field($modelViajeGlp, "[{$i}]Cant_Cilindros45",[
                                        'showLabels'=>false
                                    ])->textInput(['placeholder'=>'Cant_Cilindros45']); ?>
                                </div>


                                 <?= Html::activeLabel($modelViajeGlp, 'Cant_Manip', [
                                    'label'=>'Manipulaciones',
                                    'class'=>'col-sm-2 control-label'
                                ]) ?>
                                <div class=" col-sm-3">
                                    <?= $form->field($modelViajeGlp, "[{$i}]Cant_Manip",[
                                        'showLabels'=>false
                                    ])->textInput(['placeholder'=>'Cant_Manip']); ?>
                                </div>
                                <?= Html::activeLabel($modelViajeGlp, 'Estado', [
                                    'label'=>'Estado',
                                    'class'=>'col-sm-3 control-label'
                                ]) ?>
                                <div class=" col-sm-3">
                                    <?= $form->field($modelViajeGlp,"[{$i}]Estado", ['showLabels'=>false])->dropDownList([ 'Donado' => 'Donado', 'Feriado' => 'Feriado', 'Voluntario' => 'Voluntario', ], ['prompt' => 'Seleccionar']) ?>
                                </div>

                                <div class="col-sm-2 control-label" >

                                    <label for="salida">Hora salida</label>
                                </div>
                                <div class=" col-sm-3">
                                    <input type="text"  class="form-control" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]" id="salida" placeholder="HH:MM"/>

                                </div>

                                <div class="col-sm-3 control-label" >

                                    <label for="entrada">Hora Entrada</label>
                                </div>

                                <div class=" col-sm-3">
                                    <input type="text"  class="form-control" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]" id="entrada" placeholder="HH:MM"/>
                                    </br>

                                </div>



                                <?= Html::activeLabel($modelViajeGlp, 'HrsH180', [
                                    'label'=>'Horas hasta 180',
                                    'class'=>'col-sm-2 control-label'
                                ]) ?>
                                <div class=" col-sm-3">
                                    <?= $form->field($modelViajeGlp, "[{$i}]HrsH180",['showLabels'=>false])->textInput(['placeholder'=>'Horas <180', 'id'=>"total_menos"]) ?>
                                </div>

                                <?= Html::activeLabel($model, 'HrsM180', [
                                    'label'=>'Horas mayor 180',
                                    'class'=>'col-sm-3 control-label'
                                ]) ?>
                                <div class=" col-sm-3">
                                    <?= $form->field($modelViajeGlp, "[{$i}]HrsM180",['showLabels'=>false])->textInput(['placeholder'=>'Horas >180', 'id'=>"total_mas"]) ?>
                                </div>



                            </div>
                        </div>
                    <?php endforeach; ?>
                </div>
                <?php DynamicFormWidget::end(); ?>
            </div>
        </div>

    </div>




    <div class="col-sm-offset-2 col-sm-10">

        <div class="form-group">

            <?= Html::submitButton($model->isNewRecord ? 'Crear' : 'Actualizar', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
            <button type="reset" class="btn btn-default">Limpiar</button>


        </div>
    </div>



    <?php ActiveForm::end(); ?>


    </div>
    </div>
    </div>
<?php

0 个答案:

没有答案