2014-01-18 2 views
1

에서 선택한 특정 값 후 텍스트 영역을 보여주고 싶은 ... 내가 값은 내가 문제가있는 DropDownList로

사용자로부터 특정 값을 선택할 때 내가 원하는 많이 가지고 드롭 다운 목록을 포함하는 형태가 내가 바로 표시되는 텍스트 영역을 드롭 다운 ... 난 자바 스크립트를 사용해야합니다 알고 있지만 나는이 내 코드가 얼마나

잘 모릅니다 :이 텍스트 영역에만 사용자가 값을 선택할 때 표시 할

<div class="row"> 
    <?php echo $form->labelEx($model,'type'); ?> 
    <?php echo $form->dropDownList($model,'type',$model->getTypeOptions()); ?> 
    <?php echo $form->error($model,'type'); ?> 
</div> 

<div class="row"> 

    <?php echo "<b>Data</b> : <i> Use WhiteSpaces or , to enter values</i> "; ?><br/> 
    <?php echo $form->textArea($model, 'data', array('rows'=>10, 'cols'=>50)); ?> 
    <?php echo $form->error($model, 'data'); ?> 

</div> 

(예 : 드롭 다운의 체크 박스 목록)

i는 검색과 발견

$form->dropDownList($model,'type',$model->getTypeOptions()); 

우리가 할 수 있지만 배열 매개 변수 드롭 다운리스트 안에 ..하지만 난 정말이 배열

어떤 도움에 excatly 무엇을 쓰고 잘 모릅니다

에서?

답변

2

아래와 같이 수행

<?php echo $form->dropDownList($model,'type',$model->getTypeOptions(),array('id'=>'myDropDown')); ?> 

<?php echo $form->textArea($model, 'data', array('rows'=>10, 'cols'=>50,'id'=>'myTextArea')); ?> 

이제, 당신이 필요로하는 무엇 Ajax 요청을 만드는 것입니다.

<script> 
$('#myDropDown').on('change', function() { 
    $.ajax({ 
     url: "<?php echo $this->createUrl('controller/test'); ?>", 
     dataType: 'html', 
     type: 'POST', 
     data: {dropDownValue: $(this).val()}, 
     success: function(data, textStatus, jqXHR) { 
      $('#myTextArea').val(data); 
     }‌ 
    }); 
}); 

참고이 테스트는 컨트롤러에서 작업입니다. (자신의 이름으로 대체).

는 다음 작업 만들기 :

public function actionTest() { 
    if (Yii::app()->request->isAjaxRequest) { 
     $dropDownValue = Yii::app()->request->getPost('dropDownValue'); 
     if ($dropDownValue === 'A VALUE YOU WANT TO COMPARE WITH') { 
      echo 'SOME THING YOU WANT'; 
     } 
     Yii::app()->end(); 
    } 
} 

더 알고를, 우리는 드롭 다운의 값을 변경 한 경우, 서버에 드롭 다운 값을 보내기 위해 아약스 요청 전화를 말한다. 우리의 가치가 우리가 원하는 것이라면, 우리는 뭔가 할 것입니다. 마지막으로 성공 함수에서 ajax가 응답을 성공적으로 반환했다는 것을 의미합니다. 우리는 server (테스트 액션)가 우리에게 보낸 것과 함께 textArea의 값을 변경합니다.