自动填充功能不会显示来自sourceUrl的数据;
控制器
public function actionTestAutoComplete() {
$r = array(
array("label"=>"Test 1", "value"=>"Test 1") ,
array("label"=>"Test 2", "value"=>"Test 2") ,
array("label"=>"Test 3", "value"=>"Test 3") ,
array("label"=>"Test 4", "value"=>"Test 4") ,
);
echo CJSON::encode($r);
}
查看
$this->widget('zii.widgets.jui.CJuiAutoComplete', array(
'name' => 'test_autocomplete',
'source'=>$this->createUrl("testAutocomplete"),
'value' => "",
'options' => array(
'minChars'=>1,
'autoFill'=>false,
'focus'=> 'js:function( event, ui ) {
$( "#test_autocomplete" ).val( ui.item.label );
return false;
}',
'select'=>'js:function( event, ui ) {
return false;
}'
),
'htmlOptions'=>array( 'autocomplete'=>'off'),
));
操作testAutocomplete在调试中有效,但自动完成不会显示来自ajax的数据。
下面的代码工作正常。
$this->widget('zii.widgets.jui.CJuiAutoComplete', array(
'name' => 'test_autocomplete',
'source'=>array(
array('label'=>'test 1', 'value'=>'teste 1'),
array('label'=>'test 2', 'value'=>'teste 2'),
array('label'=>'test 3', 'value'=>'teste 3'),
),
'value' => "",
'options' => array(
'minChars'=>1,
'autoFill'=>false,
'focus'=> 'js:function( event, ui ) {
$( "#test_autocomplete" ).val( ui.item.label );
return false;
}',
'select'=>'js:function( event, ui ) {
return false;
}'
),
'htmlOptions'=>array( 'autocomplete'=>'off'),
));
请,我需要帮助,
由于
答案 0 :(得分:0)
试试这个。我测试了这个并且它工作正常。
在视图旁边的代码......
<?php $this->widget('zii.widgets.jui.CJuiAutoComplete', array(
'name' => 'test_autocomplete',
'source'=>$this->createUrl('Controller class name here/AutoCompleteLookup'), // always define the correct path in Url..
'value' => "",
'options' => array(
'minChars'=>1,
'autoFill'=>false,
'focus'=> 'js:function( event, ui ) {
$( "#test_autocomplete" ).val( ui.item.label );
return false;
}',
'select'=>'js:function( event, ui ) {
return false;
}'
),
'htmlOptions'=>array( 'autocomplete'=>'off'),
)); ?>
其余的代码都没问题,但是我修复了一些错误。
答案 1 :(得分:0)
尝试使用sourceURL代替源选项。