2

我已经阅读了官方 API 文档,但我并没有真正理解。

   function format(state) {
            if (!state.id) return state.text; // optgroup
            return "<img class='flag' src='images/flags/" + state.id.toLowerCase() + ".png'/>" + state.text;
        }
        $("#e4").select2({
            formatResult: format,
            formatSelection: format
        });

以下是 select2 关于如何格式化元素的代码。

但是,我不太明白这到底是format(state)什么state意思?


我有一个下拉列表(来自关联数组的数据,user_id=>username),现在我想格式化下拉结果元素,这样用户不仅可以选择用户名,还可以在用户名旁边看到用户的头像。

这是我的一些代码......但它不起作用。

<script>
$(document).ready(function(){
        $("#s2id2").select2({
            formatResult: function(){return "<img width='25px' height='25px' src='<?php echo $avatar;?>'/>" + "<?php echo $friend->username;?>";},
            formatSelection: function(){return "<img width='25px' height='25px' src='<?php echo $avatar;?>'/>" + "<?php echo $friend->username;?>";},
        });
});
</script>

同样,我的数据结构是“ user_id=>username”......有什么想法吗?

4

1 回答 1

2

原来我放弃了使用 javascript,而是使用以下函数:

foreach($friends as $friend){
$avatar = Profile::model()->findByPk($friend)->avatar;
array_push_assoc($list,$friend2->sender,"<img width='20px;' height='20px;' style='float:left; margin-left:10px; margin-right:10px;' src='".$avatar2."'/>".$friend2->senderx->username);
}
于 2012-12-09T03:16:44.280 回答