3
我的視圖頁面上需要兩個CJuiAutocomplete項目。不幸的是 - 其中只有一個正確渲染項目。另一個 - 呈現空行。我檢查了螢火蟲,並從數據庫中正確地檢索了這些值。實際上,如果我更改registerScript
的順序 - 只有最後registerScript
的自動完成功能才能正確呈現項目。Yii中的多個CJuiAutocomplete - 不渲染的項目
這裏是我的代碼:要求在這裏,所以我覺得嘿嘿後
<?php
$this->widget('zii.widgets.jui.CJuiAutoComplete', array(
'name' => 'autocities',
'sourceUrl'=>$this->createUrl('projects/dynamicGetCities'),
'options' => array(
'minLength' => 2,
'select' => "js: function(event, ui) {
$('#lastSelectedCityId').val(ui.item.idCity);
var ciname = ui.item.name + ' (' + ui.item.directional + ')';
$('.selectedCity').html(ciname);
}
"
),
));
?>
<br/><br/>
<?php
$this->widget('zii.widgets.jui.CJuiAutoComplete', array(
'name' => 'autostreets',
'sourceUrl' =>
'js: function(request, response) {
$.ajax({
url: "'.$this->createUrl('projects/dynamicGetStreets').'",
dataType: "json",
data: {
term: request.term,
idCity: $("#lastSelectedCityId").val()
},
success: function (data) {
response(data);
}
})}',
'options' => array(
'minLength' => 2,
'select' => "js:
function(event, ui)
{
$('#lastSelectedStreetId').val(ui.item.idStreet);
$('.selectedStreet').html(ui.item.name);
}"
),
));
Yii::app()->clientScript->registerScript('input', '
$("#autostreets").data("autocomplete")._renderItem = function(ul, item) {
return $("<li></li>")
.data("item.autocomplete", item)
.append("<a>"+item.name+"<br/><span style=\"font-size: 9px;\">Abonentów: "+item.customCount+"</span></a>")
.appendTo(ul);
};');
Yii::app()->clientScript->registerScript('input', '
$("#autocities").data("autocomplete")._renderItem = function(ul, item) {
return $("<li></li>")
.data("item.autocomplete", item)
.append("<a>"+item.name + " - " + item.directional+"<br/><span style=\"font-size: 9px;\">Abonentów: "+item.customCount+"</span></a>")
.appendTo(ul);
};');
?>