0

誰かが 1 つの問題を解決する方法を見つけるのを手伝ってくれたら幸いです。作成フォームにチェックボックスがあります。作成ボタンを押した場合、チェックボックスがチェックされている場合はポップアップウィンドウが必要で、チェックボックスがチェックされていない場合は何もしません。

_form の私のコード

<?php echo $form->checkBoxRow($model, 'default'); ?>

<div class="form-actions">
    <?php $this->widget('bootstrap.widgets.TbButton', array(
        'buttonType'=>'submit',
        'type'=>'primary',
        'label'=>$model->isNewRecord ? 'Create' : 'Save',
    )); ?>
</div>

私の作成コントローラーで

public function actionCreate()
{
    $model=new EmpSched;

    // Uncomment the following line if AJAX validation is needed
    // $this->performAjaxValidation($model);

    if(isset($_POST['EmpSched']))
    {
        $model->attributes=$_POST['EmpSched'];
        if($model->save())
        $this->redirect(array('view','id'=>$model->id_empsched));
    }

    $this->render('create',array(
        'model'=>$model,
        'emp'=> new CActiveDataProvider('schedule'),
    ));
}

私のcreate.phpで

<?php
$this->breadcrumbs=array(
'Emp Scheds'=>array('index'),
'Create',
);

$this->menu=array(
array('label'=>'List EmpSched','url'=>array('index')),
array('label'=>'Manage EmpSched','url'=>array('admin')),
);
?>

<h1>Create EmpSched</h1>

<?php echo $this->renderPartial('_form', array('model'=>$model)); ?>

<?php $this->widget('bootstrap.widgets.TbGridView',array(
'id'=>'schedule-grid',
'dataProvider'=>$emp,
'columns'=>array(
    'id_sched',
    'sched_name',
    array(
      'name'=>'mon',
      'value'=>'$data->fkidday->monday->name'
    ),
    array(
        'name'=>'tues',
        'value'=>'$data->fkidday->tuesday->name'
    ),
    array(
        'name'=>'wed',
        'value'=>'$data->fkidday->wednesday->name'
    ),
    array(
        'name'=>'thurs',
        'value'=>'$data->fkidday->thursday->name'
    ),
    array(
        'name'=>'fri',
        'value'=>'$data->fkidday->friday->name'
    ),
    /*'sat',
    'sun',
    */
),
));
?>
<script>
$(function() {

    // when row is clicked
    $('#schedule-grid tbody:first').on('click', 'tr', function() {

        // get the ID
        var id = $(this).find('td:first').text();

        // select the same option in dropdown list with same value
        $('#EmpSched_fk_id_sched')
            .find("option[value="+ id +"]")
            .prop("selected", "selected");
    });
});
</script>
4

1 に答える 1

0

カスタム JavaScript を追加します (作成ボタンがフォームを送信すると仮定)

$('#form-id').submit(function() {
    if $(this).find('#check-box-id').is(':checked') {
        // open popup here
    }

    return false;
});
于 2013-09-11T08:23:53.157 に答える