2015-10-06 34 views
0

我有一個帶pincode,村莊,地區等字段的表單,當我輸入pincode時,自動填充這些值。請提供實現此目的的示例代碼。 在此先感謝。yii中數據庫的自動文本字段值

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

在此先感謝。

+0

你是否將「pin」的值存儲在你的db中? – Criesto

+0

您在渲染之前加載$模型嗎? – Sergey

+0

是的,我有數據庫中的所有pincode數據。以及村莊和地區等etc – Tilak

回答

0

我假設你的表名是areasAreas是該表的模型。

貝婁我重複(不完全)查看您的問題代碼,我附上ajax呼籲您的pincode字段和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); 
    } 
} 
相關問題