我有父页面,并且有两个子视图 _sectionhead.php 和 _classteacher.php 当用户从 dropdwon 中选择时,我需要对这些子视图渲染部分怎么做
这是我的创作
如果有任何其他我想知道的方式。我需要快速帮助
我有父页面,并且有两个子视图 _sectionhead.php 和 _classteacher.php 当用户从 dropdwon 中选择时,我需要对这些子视图渲染部分怎么做
这是我的创作
如果有任何其他我想知道的方式。我需要快速帮助
假设你在 HTML 中做,在 HTML 代码中添加下面
<option onClick="fnCallPage('classteacher')">class teacher</option>
<option onClick="fnCallPage('Section')">Section</option>
在 Javascript 标记中添加以下内容:
function fnCallPage(param){
//Javascript code for sending
}
基于@Fraz 解决方案:
HTML:
<option onClick="fnCallPage('_classteacher')">class teacher</option>
<option onClick="fnCallPage('_sectionhead')">Section</option>
<div id="divContainerPartial"></div> <!-- View rendered container -->
Javascript:
function fnCallPage(param){
$.ajax({
url: '<?php echo Yii::app()->createUrl('yourModel/renderPageByAjax');?>/' + param,
type: 'GET',
success: function(html){
$('#divContainerPartial').html(html);
},
error: function(data){
alert('Error loading a '+param+' view.');
}
});
}
控制器:
/**
* @param $view String : View name to render.
*/
public function actionRenderPageByAjax($view)
{
$params = array(); // Variables to view.
$this->renderPartial('//myFolderView/'.$view, array(
'params' => $params,
), false, true);
}
鉴于:
<?php Yii::app()->clientScript->registerScript('some-name', "
$('select').on('change', function (event) {
var url = $(event.currentTarget).val();
if (url != 0)
$.get(url, function (data) {
$('#result').html(data);
});
});", CClientScript::POS_READY) ?>
<?php echo
CHtml::dropDownList("param", "select here", [
'Select here',
$this->createUrl('/testing/action1') => "Add class teacher",
$this->createUrl('/testing/action2') => "Add class techer"
]) ?>
<div id="result"></div>