показать сетку как автозаполнение в рамках yii

0

Я хочу показать сетку как автозаполнение в структуре yii. Я попытался с combogrid http://combogrid.justmybit.com/default.php, но не работает с загруженным файлом. Пожалуйста помоги.

Я создал расширение и расширил CJuiInputWidget. Таким образом, код

class ComboGridWidget extends CJuiInputWidget
{

    public $source=array();
    public $sourceUrl;


    public function run()
    {
        list($name,$id)=$this->resolveNameID();

        if(isset($this->htmlOptions['id']))
            $id=$this->htmlOptions['id'];
        else
            $this->htmlOptions['id']=$id;
        if(isset($this->htmlOptions['name']))
            $name=$this->htmlOptions['name'];

        if($this->hasModel())
            echo CHtml::activeTextField($this->model,$this->attribute,$this->htmlOptions);
        else
            echo CHtml::textField($name,$this->value,$this->htmlOptions);

        if($this->sourceUrl!==null)
            $this->options['source']=CHtml::normalizeUrl($this->sourceUrl);
        else
            $this->options['source']=$this->source;


        $options=CJavaScript::encode($this->options);
        $this->registerScripts();
        Yii::app()->getClientScript()->registerScript(__CLASS__.'#'.$id,"jQuery('#{$id}').combogrid($options);");
    }



    protected function registerScripts()
    {

        $asseturl=Yii::app()->getAssetManager()->publish(Yii::getPathofAlias('ext.combogrid.assets'));

        $cs = Yii::app()->clientScript;
        //$cs->registerScriptFile($asseturl.'/resources/jquery/jquery-1.9.1.min.js');
        $cs->registerScriptFile($asseturl.'/resources/jquery/jquery-ui-1.10.1.custom.min.js');
        $cs->registerScriptFile($asseturl.'/resources/plugin/jquery.ui.combogrid-1.6.3.js');

        $cs->registerCssFile($asseturl.'/resources/css/smoothness/jquery-ui-1.10.1.custom.css');
        $cs->registerCssFile($asseturl.'/resources/css/smoothness/jquery.ui.combogrid.css');
    }

}

В файле просмотра, который я использую

$this->widget('ext.combogrid.CombogridWidget',array(
    'name'=>'city1',
    'options'=>array(
        'minLength'=>'1',
         'url'=> 'server.php',
         'debug'=>true,
         'colModel'=> "[{'columnName':'id','width':'10','label':'id'}, {'columnName':'name','width':'60','label':'title'},{'columnName':'author','width':'30','label':'author'}]",
         'select'=> "function( event, ui ) {
            $( '#city1' ).val( ui.item.name );
            return false;
        }"  
    ),

));

Я прокомментировал регистрацию jquery-1.9.1.min.js, потому что Yii уже загружает файл jquery, и в этом случае я получаю список неопределенных значений. Если я использую этот файл jquery-1.9.1.min.js, то я не получаю никакого вывода. Он показывает только загрузочное изображение. Я поместил файл server.php в каталог приложения yii, где находится сценарий ввода yii. Также я хочу знать, как я могу поместить server.php в каталог расширения и использовать его в jquery?

  • 1
    что не работает.пост твой код и ошибка
  • 0
    @naveengoyal Я отправил код.
Показать ещё 1 комментарий
Теги:
yii

1 ответ

0

Как заметил @Naveen, мы не можем помочь вам без лишних подробностей.

В качестве альтернативы вы можете использовать расширение select2 и использовать метод formatResults для форматирования данных, полученных в виде строк.

Дальнейшее чтение:

  1. http://ivaynberg.github.io/select2/
  • 0
    Я разместил код.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню