Yii 2 - CreateForm,用于从另一个模型的搜索中获取信息和值

时间:2015-03-13 17:33:33

标签: php yii yii2

我对yii 2有点问题。这是我的情况: 我管理两个表,客户订单,任何订单都有客户。我创建了关系数据和普通视图来创建,更新,查看和删除数据库中的数据。现在我将在订单的_form视图中使用客户的搜索模型(创建和更新数据)来选择客户并拉出我想要保存在 customer.id > order.id_customer

使用我的解决方案,我可以在创建视图中看到带有客户搜索的gridview,但是(使用RadioColumn)它不会返回 customer.id ,当我尝试过滤数据时表单不会过滤任何内容,但它会尝试将我的输入提交到数据库。

旧的" _form"代码在pastebin上。

有什么建议吗?

谢谢!

-----------------------的更新 ---------------- -------------

经过几个小时的工作,我解决了我的问题。 现在我的gridview不在activeform中,我通过javascript函数复制了收音机的回复。

这是代码:

<script type="text/javascript">
var agente = document.getElementById('agente');
var radioSelAgente = document.getElementsByName('radioAgenteId');
function aggiungiAgente(){
    for (var i = 0, length = radioSelAgente.length; i < length; i++) {
        if (radioSelAgente[i].checked) {
            document.getElementById('contrattoformativo-id_agente_iscritto').value=radioSelAgente[i].value;
            alert(radioSelAgente[i].value);
            break;
        }
    }
}

<form id="formAddAgente" onclick="aggiungiAgente()">
    <?php
    $agenteModel = new \backend\models\Agente();
    $agenteSearchModel = new \backend\models\AgenteSearch();
    $agenteDataProvider = $agenteSearchModel->search(Yii::$app->request->queryParams);
    $agenteDataProvider->pagination->pageSize=5;
    ?>
    <?php 
    echo \kartik\grid\GridView::widget([
        'dataProvider' => $agenteDataProvider,
        'filterModel' => $agenteSearchModel,
        'id'=>'agente',
        'columns' => [
            [
                'class' => '\kartik\grid\RadioColumn',
                'width'=>'36px',
                'name' => 'radioAgenteId',
                'showClear' => false,

                'radioOptions' => function($agenteModel, $key, $index, $column) {
                    return ['value' => $agenteModel->id];
                },

            ],
            'nome',
            'cognome',

        ],
        'export'=>false,
        'pjax'=>true,
        'pjaxSettings'=>[
            'neverTimeout'=>true,
        ],
    ]);
    ?>
</form>

我以积极的形式:

<?= Html::activeHiddenInput($model, 'id_agente_iscritto') ;?>

再见!

0 个答案:

没有答案