Мне нужно создать зависимый раскрывающийся список для тех же столбцов в той же строке - PullRequest
0 голосов
/ 31 декабря 2011

Мне нужна ваша помощь. Я создаю веб-приложение для записи книг, используя yii. в форме мне нужно выпустить выпадающий номер ISBN из одной таблицы, которая должна получить название относительной книги, которая находится в той же строке в другом текстовом поле или раскрывающемся списке .... я надеюсь, что вы понимаете мою проблему, пожалуйста, дайте предложение. кодирование для HTML просмотра страницы

<div class="row">
    <?php echo $form->labelEx($model,'isbn_no'); ?>
    <?php echo $form->dropDownList($model,'isbn_no',CHtml::listData(Books::model()->findAll(array('order'=> 'isbn_no ASC')),                            'isbn_no', 'isbn_no'),array('empty'=>'Select'),array(
                    'ajax' => array(
                    'type' => 'POST',
                    'url' => CController::createUrl('Processcontroller/Book'),
                    'update' => "#book_title"
                )));?>
    <?php echo $form->error($model,'isbn_no'); ?>
</div>

<div class="row">
    <?php echo $form->labelEx($model,'book_title'); ?>
<?php echo $form->dropDownList($model,'book_title','',array(),array('empty'=>'select'));

    <?php echo $form->error($model,'book_title'); ?>
</div>

мой контроллер с именем ProcessController.php

public function actionBook()
{
//please enter current controller name because yii send multi dim array
    $data=Books::model()->findAll('book_id=:book_id', 
                  array(':book_id'=> $_POST['current-Controller']['book_id']));

    $data=CHtml::listData($data,'isbn_no','book_title');
    foreach($data as $value=>$name)
    {
        echo CHtml::tag('option',
                   array('value'=>$value),CHtml::encode($name),true);
    }
}

.... моя таблица будет как ниже названные книги book_id (PK) | isbn_no | book_title |

1 Ответ

1 голос
/ 31 декабря 2011

Единственная проблема, которую я вижу в вашем коде, состоит в том, что

В вашем контроллере

$data=Books::model()->findAll('book_id=:book_id', 
              array(':book_id'=> $_POST['current-Controller']['book_id']));

пока вы должны сравнивать isbn_no при отправке isbn_no из формы в контроллер ...

$data=Books::model()->findAll('isbn_no=:isbn_no', 
              array(':isbn_no'=> $_POST['current-Controller']['isbn_no']));

Если появляется какая-то другая ошибка, пожалуйста, укажите ... как кажется, что код в порядке ... и вы не упомянули, в чем ошибка ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...