yii 中数据库中的自动文本字段值

Auto Text field values from Database in yii

我有一个表格,其中包含密码、村庄、地区等字段。当我输入 pincode 时,会自动填写这些值。请提供实现此目的的示例代码。 提前致谢。

<tr>
<div class="row">
<td><?php echo $form->labelEx($model,'pin'); ?></td>
<td><?php echo $form->textField($model,'pin',array('size'=>6,'maxlength'=>6,'style'=>'height:34px;')); ?>
    <?php echo $form->error($model,'pin'); ?></td>
</div>

<tr>
<div class="row">
<td><?php echo $form->labelEx($model,'street'); ?></td>
<td><?php echo $form->textField($model,'street',array('size'=>25,'maxlength'=>25,'style'=>'height:34px;')); ?>
    <?php echo $form->error($model,'street'); ?></td>
</div>

<tr>
<div class="row">
<td><?php echo $form->labelEx($model,'village'); ?></td>
<td><?php echo $form->textField($model,'village',array('size'=>25,'maxlength'=>25,'style'=>'height:34px;')); ?>
    <?php echo $form->error($model,'village'); ?></td>
</div>

提前致谢。

我假设你的 table 名字是 areasAreas 是那个 table 的模特。

我正在重复(不完全)查看您问题中的代码,我在您的 pincode 字段上附加 ajax 调用,在您的另一个字段上附加 class 属性文本字段。

    <?php echo $form->labelEx($model,'pin'); ?>
    <?php echo $form->textField($model,'pin',array(
        'size'=>6,
        'maxlength'=>6,
        'style'=>'height:34px;',
        //Ajax call to get the pin related values, onBlur.
        'ajax' => array
                (
                'type' => 'POST',
                'dataType'=>'JSON',
                'url' => CController::createUrl('site/getValuesByPincode'),
                'success'=>'js:function(output){$(".setVillage").val(output.village); $(".setStreet").val(output.street);}'
                )

        )); ?>
    <?php echo $form->error($model,'pin'); ?>

    <br/><br/>

    <?php echo $form->labelEx($model,'street'); ?>
    <?php 
    //adding a class 
    echo form->textField($model,'street',array('size'=>25,'maxlength'=>25,'style'=>'height:34px;','class'=>'getStreet')); 
    ?>
    <?php echo $form->error($model,'street'); ?>

    <br/><br/>

    <?php echo $form->labelEx($model,'village'); ?>
    <?php
    //Ading a class 
    echo $form->textField($model,'village',array('size'=>25,'maxlength'=>25,'style'=>'height:34px;','class'=>'getVillage'));
    ?>
    <?php echo $form->error($model,'village'); ?>

我正在我的控制器(例如:站点控制器)中创建一个操作 getValuesByPincode 来为我的 ajax 调用服务。

public function actionGetValuesByPincode()
{
    $pincode = $_POST['Areas']['pin'];
    $data = Areas::model()->find('pin=:pin', array(':pin' => $pincode));
    $output = array();
    if (count($data) > 0)
    {
        $output['village'] = $data->village;
        $output['street'] = $data->street;
        echo json_encode($output);
    }
}