2011-09-18 13 views
6

पर साफ़ करने पर क्लिक करें मेरे पास CJuiAutoComplete से नीचे है और लोड होने पर मैं टेक्स्ट फ़ील्ड में "खोज" प्रदर्शित करना चाहता हूं और क्लिक पर मैं साफ़ करना चाहता हूं। मैंने विकल्पों के तहत "मूल्य" का उपयोग करने का प्रयास किया, लेकिन यह काम नहीं कर सका। आपकी मदद केYii CJuiAuto पूर्ण डिफ़ॉल्ट प्रदर्शन मान और इसे

के लिए धन्यवाद भी

'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',) 
)); 
?> 

की कोशिश की सादर

अद्यतन

सीधे डाल 'मान' => 'खोज' में काम किया।

क्लिक हैंडलर के लिए जांच की जा रही

किरण

+0

आप htmloptions में "प्लेसहोल्डर" विशेषता का भी उपयोग कर सकते हैं, हालांकि यह सभी ब्राउज़रों में समर्थित नहीं है। – ldg

उत्तर

11

आप क्या कर सकते अपने विजेट एक आईडी देना है और फिर आप विजेट के htmlOptions में onClick घटना जगह है और जावास्क्रिप्ट का उपयोग आप मान साफ़ करें।

$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=""' 
) 
)); 

आप options विशेषता में onClick नहीं डाल सकते, क्योंकि ये CJuiAutocomplete के लिए jQuery विकल्प हैं, onClickJUI Autocomplete options में परिभाषित नहीं है।

चीयर्स

+1

इस महान समाधान के लिए धन्यवाद। मैं जेएस की कोशिश कर रहा था: htmlOptions में फ़ंक्शन (ईवेंट, ui) और यह काम नहीं कर रहा था। यह एक बात है कि मुझे पहले बुनियादी अवधारणाएं मिलती हैं :) – Bujji

0

पुराने धागा है, लेकिन newbies जो यहाँ भूमि, अपने Yii CAutoComplete में एक एचटीएमएल प्लेसहोल्डर विशेषता जोड़ने के लिए सरल के लिए। नीचे दिए गए कोड को देखें और htmloptions लाइन में जोड़ें:

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