[英]Yii CGridView filter/search function not working inside a CJuiDialog
我尝试了http://www.yiiframework.com/forum/index.php/topic/16797-data-picker/中的代码来实现数据选择器。 除了在CJuiDialog中呈现的CGridView的搜索功能之外,其他所有东西都工作正常。 此外,控制台上没有显示JavaScript错误。 所有代码都在_form.php中(最初由Yii CRUD生成器生成)。 顺便说一句,我已经尝试过在Yii CGridView中渲染的解决方案, 不会在CJuiDialog内部渲染CJuiDialog ,也不会解决我的问题。
<div class="row">
<?php echo $form->labelEx($model,'company_id'); ?>
<?php echo $form->hiddenField($model,'company_id'); ?>
<input type="text" name="company_name" id="company_name" readonly value="" />
<?php echo CHtml::Button('x', array('name' => 'del_co', 'id' => 'del_co', 'onclick' => '$("#company_name").val("");$("#Customer_company_id").val("")')) ?>
<?php echo CHtml::Button('Get Company',
array('onclick'=>'$("#co_dialog").dialog("open"); return false;',
)) ?>
<?php echo $form->error($model,'company_id'); ?>
</div>
在div表格的末尾,我添加了CJUIDialog的内部CGridView部分:
<?php
$this->beginWidget('zii.widgets.jui.CJuiDialog',
array(
'id'=>'co_dialog',
// additional javascript options for the dialog plugin
'options'=>array(
'title'=>'List Company',
'width'=>'auto',
'autoOpen'=>false,
),
));
$this->widget('zii.widgets.grid.CGridView',
array(
'id'=>'co-select-grid',
'dataProvider'=>$model_co->search(),
'filter'=>$model_co,
'columns'=>array(
'company_name',
array(
'header'=>'',
'type'=>'raw',
'value'=>'CHtml::Button("+", array(
"name" => "send_co",
"id" => "send_co",
"onClick" => "$(\"#co_dialog\").dialog(\"close\"); $(\"#company_name\").val(\"$data->company_name\"); $(\"#Customer_company_id\").val(\"$data->id\");"
))',
),
),
));
$this->endWidget('zii.widgets.jui.CJuiDialog');
?>
最终弄清楚我需要在相关控制器中使用以下代码。 用搜索方案实例化Company类之后
$model_co = new Company('search');
需要添加这些,
$model_co->unsetAttributes();
if(isset($_GET['Company']))
$model_co->attributes=$_GET['Company'];
之后,过滤将按预期进行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.