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 名字是 areas
,Areas
是那个 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);
}
}
我有一个表格,其中包含密码、村庄、地区等字段。当我输入 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 名字是 areas
,Areas
是那个 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);
}
}