我正在使用 CJuiAutomcoplete Widget。
一切正常,但我想在建议列表框中显示多个列。
我在 jSON 结构中为“值”选项连接字符串,但我想要的是 ti 有多个列。
我发现 Jquery UI 使用 li 和 ul html 标签 ...
我不知道如何创建包含列的列表框!
有什么想法吗?
最好的问候
尼古拉斯
编辑: 我找到了我需要的东西...... http://jqueryui.com/demos/autocomplete/#custom-data
但是因为我使用 yii 我不知道如何添加 block :
.data( "autocomplete" )._renderItem = function( ul, item ) {
return $("<li></li>" )
.data( "item.autocomplete", item )
.append( "<a>" + item.label + "<br>" + item.desc + "</a>" )
.appendTo( ul ); };
因为我对 jQuery 几乎一无所知,所以我不明白“.data”方法的作用。
再次问候......
最佳答案
我已经通过覆盖内置处理程序解决了这个问题:
$controller->widget('zii.widgets.jui.CJuiAutoComplete', array(
...
'source' => 'js: foreignKeyQuery', //overriding
'options' => array( //passing params from Yii view script
'delay' => 700,
'sourceUrl' => Yii::app()->request->baseUrl.'/ajax/search/',
),
...
));
像这样的 JS 处理程序(不要忘记将其包含在 View 脚本中):
function foreignKeyQuery(request, response)
{
var params = {
'term': request.term, //default param
'protest': 'Pussy Riot' //free params
...
}; //Of course you may get params in any way, and using "this"
$.ajax(this.options.sourceUrl, {
type: 'post',
dataType: 'json',
data: params,
success: response
});
}
框架只是一个工具。没有人会限制您随心所欲地使用 JS。
关于javascript - 如何在 YII 框架的 CJuiAutocomplete 中建议多列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11864669/