我正在尋找自動完成工作,通過在自動完成文本字段中顯示名稱並存儲隱藏的字段id值。自動完成textfield CJuiAutoComplete小部件yii存儲隱藏字段ID並顯示名稱
我得到了姓名和身份證的,當我檢查networks..but能夠顯示的名字,但它不是採摘標識備案,從而無法存儲ID
任何人都可以請給我任何鏈接/正在爲自動完成工作的代碼。沒有任何鏈接/代碼工作,請..
類自動完成:::
class EAutoCompleteAction extends CAction{
public $model;
public $attribute;
public $id;
private $results = array();
public $returnVal = '';
public function run()
{
if(isset($this->model) && isset($this->attribute)) {
$criteria = new CDbCriteria();
$criteria->compare($this->attribute, $_GET['term'], true);
$model = new $this->model;
foreach($model->findAll($criteria) as $m)
{
$this->results[] = $m->{$this->attribute};
$this->results[] = $m->{$this->id};
//$this->results[] = array(
// 'name' => $m->{$this->attribute},
// 'id'=> $m->id
//);
}
}
echo CJSON::encode($this->results);
}
}
我使用這樣的:
public function actions()
{
return array(
'aclist'=>array(
'class'=>'application.extensions.EAutoCompleteAction',
'model'=>'Organisation', //My model's class name
'attribute'=>'name', //The attribute of the model i will search
)
}
和控制器/行動我的觀點form.php。
<div class="row">
<?php echo $form->labelEx($model,'organsiation'); ?>
<?php echo $form->hiddenField($model,'organisation_id',array()); ?>
<?php
$this->widget('zii.widgets.jui.CJuiAutoComplete', array(
'attribute'=>'organisation_id',
'model'=>$model,
'sourceUrl'=>array('benefit/aclist'),
'value'=>'Please select',
'name'=>'name',
'id'=>'organisation_id',
'options'=>array(
'minLength'=>'2',
'select'=>"js:function(event, ui) {
alert(ui.item.id);
$('#organisation_id').val(ui.item.id);
}",
),
'htmlOptions'=>array(
'size'=>45,
'maxlength'=>45,
),
)); ?>
<?php echo $form->error($model,'organisation_id'); ?>
你得到的警報(ui.item.id)任何東西; ??嘗試調查console.log中的「ui」對象。 – Arfeen
no ..im沒有得到任何id任何..但我得到的價值和id當我檢查鉻檢查器/網絡/響應.. – Developer
所以你得到的「ui.item」對象? – Arfeen