CActiveForm: название метки в зависимости от значения поля

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
suppp
Сообщения: 67
Зарегистрирован: 2011.01.19, 19:07

CActiveForm: название метки в зависимости от значения поля

Сообщение suppp »

имеем представление с CActiveForm, с полями "тип лица" и "название"

Код: Выделить всё

    <div class="row">
    <?php echo $form->labelEx($model, 'cln_face'); ?>
    <?php echo $form->dropDownList($model, 'cln_face', array('0' => 'Физическое лицо', '1' => 'Юридическое лицо')); ?>
    <?php echo $form->error($model, 'cln_face'); ?>
    </div>

    <div class="row">
    <?php echo $form->labelEx($model, 'name'); ?>
    <?php echo $form->textField($model, 'name'); ?>
    <?php echo $form->error($model, 'name'); ?>
    </div>
как-то можно сделать метку name изменяемой (JavaScript) в зависимости от чекбокса? то есть, если пользователь выбрал "Физическое лицо", то метка name становилась бы "ФИО", а если "Юридическое лицо", то "Название"
navy
Сообщения: 21
Зарегистрирован: 2010.11.15, 12:59

Re: CActiveForm: название метки в зависимости от значения по

Сообщение navy »

при выводе полей сделать так:

Код: Выделить всё

    <?php echo $form->dropDownList($model, 'cln_face', array('0' => 'Физическое лицо', '1' => 'Юридическое лицо'), array('id'=>'clnFace')); ?>

Код: Выделить всё

    <?php echo $form->labelEx($model, 'name', array('id'=>'nameLabel')); ?>
в конце файла с формой сделать так:

Код: Выделить всё

<?php Yii::app()->clientScript->registerScript('selectClnFace', "
$(function(){
  $('#clnFace').change(function(){
     if($('#clnFace').val()==0) {
       $('#nameLabel').text('ФИО');
     } else if($('#clnFace').val()==1) {
       $('#nameLabel').text('Наименование');
     }
  });
});
");
?>

Последний раз редактировалось navy 2011.03.20, 18:59, всего редактировалось 1 раз.
suppp
Сообщения: 67
Зарегистрирован: 2011.01.19, 19:07

Re: CActiveForm: название метки в зависимости от значения по

Сообщение suppp »

Спасибо, все получилось!
только лишнюю точку убрал перед change(function()
navy
Сообщения: 21
Зарегистрирован: 2010.11.15, 12:59

Re: CActiveForm: название метки в зависимости от значения по

Сообщение navy »

Отредактировал пост, убрал лишнюю точку
Ответить