2013-09-17 2 views
0

У меня есть родительская страница, и есть два зрение ребенка _sectionhead.php и _classteacher.php мне нужно renderPartial для тех зрения ребенка, когда пользователь выбирает из dropdwon, как можно это сделатьКак перенаправить с выпадающим списком?

это мой создать из enter image description here

Если есть другой способ я хотел бы знать it.i нужна быстрая помощь

ответ

1

Ввиду:

<?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> 
1

Предполагая, что вы делаете в HTML, добавить ниже в HTML-коде

<option onClick="fnCallPage('classteacher')">class teacher</option> 
<option onClick="fnCallPage('Section')">Section</option> 

Добавить ниже Javascript тег:

function fnCallPage(param){ 
//Javascript code for sending 
} 
+0

я ценю это, но мне нужно renderPartial _sectionhead.php и _classteacher.php от родительского create.php я поставил dropdwon в create.php – nu123

1

основе @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); 
} 
Смежные вопросы