2011-09-18 11 views
6

Tengo debajo de CJuiAutoComplete y al cargar Quiero mostrar "Buscar" en el campo de texto y al hacer clic quiero borrar. Intenté usar "valor" en las opciones, pero no pude hacerlo funcionar. Gracias por su ayudaYii CJuiAutoComplete el valor de visualización predeterminado y borrarlo al hacer clic

intentó también

'htmlOptions'=>array('value'=>'Search',)

<?php 

$this->widget('zii.widgets.jui.CJuiAutoComplete', array(
    'name'=>'test1', 
    'source'=>'js: function(request, response) { 
     $.ajax({ 
      url: "'.$this->createUrl('myAutoComplete/autoCompleate').'", 
      dataType: "json", 
      data: { 
       term: request.term, 
       brand: $("#type").val() 
      }, 
      success: function (data) { 
        response(data); 
      } 
     }) 
    }', 

    'options' => array(
        'showAnim' => 'fold', 
        'select' => 'js:function(event, ui){ alert(ui.item.value) }', 
        'click'=>'js:function(event, ui) { 
          alert("test"); 
            return false; 
           }', 
    ), 
    'htmlOptions'=>array('value'=>'Search',) 
)); 
?> 

Saludos

ACTUALIZACIÓN

'valor' poner directamente => 'Buscar' funcionó.

la comprobación de controlador de clic

Kiran

+0

También puede usar el atributo "marcador de posición" en htmloptions, aunque no es compatible con todos los navegadores. – ldg

Respuesta

11

Lo que puede hacer es darle a su widget de un id y luego coloque el evento onClick en el widget de htmlOptions y el uso de JavaScript que se borre el valor.

$this->widget('zii.widgets.jui.CJuiAutoComplete', array(
    'id' => 'test1_id', 
    'name'=> 'test1', 
    'source'=>'js: function(request, response) { 
    $.ajax({ 
     url: "'.$this->createUrl('myAutoComplete/autoCompleate').'", 
     dataType: "json", 
     data: { 
      term: request.term, 
      brand: $("#type").val() 
     }, 
     success: function (data) { 
      response(data); 
     } 
    }) 
}', 
'options' => array(
    'showAnim' => 'fold', 
    'select' => 'js:function(event, ui){ alert(ui.item.value) }', 
), 
'htmlOptions' => array(
    'onClick' => 'document.getElementById("test1_id").value=""' 
) 
)); 

no se puede poner en el atributo onClickoptions ya que estas son las opciones de jQuery para el CJuiAutocomplete, onClick no está definido en la JUI Autocomplete options.

Saludos

+1

Gracias por esta gran solución. Estaba intentando js: function (event, ui) en htmlOptions y no funcionaba. Esa es una de las cosas que primero obtengo conceptos básicos :) – Bujji

0

hilo viejo, pero para los novatos que aterrizan aquí, es simple para agregar un marcador de posición atributo HTML en Yii CAutoComplete. Vea el código a continuación y agregue la línea htmloptions:

<?php $this->widget('CAutoComplete', array(
'model'=>$model, 
'attribute'=>'tags', 
'url'=>array('suggestTags'), 
'multiple'=>true, 
'htmlOptions'=>array('size'=>50,'placeholder'=>'Seperate tags with commas'), 
)); ?> 
Cuestiones relacionadas