オートコンプリートは 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'),
));
助けてください
ありがとう