Yii framework jQuery UI AutoComplete widget kullanımı

Yii framework de jQuery UI AutoComplete eklentisini kullanabilmeniz için CJuiAutoComplete widget ı bulunur. Javascript diziden, JSON dosyasından, PHP dosyasından veya oluşturduğunuz Controller clasından verileri gösterebilirsiniz. JQuery UI AutoComplete options ve events fonksiyonlarını Yii CJuiAutoComplete   widget ı ile kullanma imkanınız vardır. Örnek kullanım:

<?php

// indisler araçlarınızın detay sayfasının linki olsun, değerler ise kullanıcıların arama yapacakları kelimeler olsun

$arabalar = array(
array("value" => "opel-corsa", "label" => "Opel Corsa")
array("value" =>"opel-vectra", "label" => "Opel Vectra")
array("value" => "ford-focus", "label" => "Ford Focus" ));

$this->widget('zii.widgets.jui.CJuiAutoComplete', array(
'name'=>'hizli_arac_modeli_ara',
'source'=> json_encode($arabalar), // json dosyası , php dosyası url yazılabilir
//'source' => $this->createUrl('test/json'),
'value' => 'Araba ara',
'options'=>array(
'minLength'=>'0',
'autoFocus' => 'true',
'select' => 'js:function( event, ui ) {if(ui.item.value) window.location.href="/arabalar/"+ui.item.value;}'
),
'htmlOptions'=>array(
'class'=>'arama' //arama text input classı
),
));

?>

<script type="text/javascript">

/*araba arama : kullanıcı inputa tıkladığında arama listesi açılması ve inputtan ayrıldığında içine "Araba ara" yazısını silmesi için*/
$('#hizli_arac_modeli_ara').live('focus',function(){
if ($(this).val() == "Araba ara")  $(this).val('');
$(this).autocomplete('search', 'a');
});

/*kullanıcı inputtan ayrıldığında içine yeniden "Araba ara" yazması için*/

$('#hizli_arac_modeli_ara').live('blur',function(){
$(this).val('Araba ara');

});

/* kullanıcı inputta yazarken tamam aradığım bu diyerek enter tuşuna basarsa yönlendirmek için*/

$('#hizli_arac_modeli_ara').live('keyup',function(e){
if(e.keyCode =='13') { window.location.href ='/arabalar/'+$(this).val();}
});

</script>

Kullanım örneği için piyasa.com “hisse arama” kısmına bakabilirsiniz.

Facebook Twitter Friendfeed

Leave a Reply

Your email address will not be published. Required fields are marked *

*


*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>