表格列表标签的显示问题

现在需要在表格的列表显示标签,tag_ids是关联tag表,是字符串用','隔开,如:‘1,2’;

  • js代码如下:
{field: 'tag_ids', title: __('Tag_ids'), searchList: $.getJSON(Config.__CDN__+"/api/Data/tagSearchlist"), operate: 'FIND_IN_SET', formatter: Table.api.formatter.label},
  • tagSearchlist是获取列表的方法
    public function tagSearchlist()
    {
        $result = db('tag')->where('status',1)->select();
        $searchlist = [];
        foreach ($result as $key => $value) {
            $searchlist[] = ['id' => $value['id'], 'name' => $value['name']];
        }
        $data = ['searchlist' => $searchlist];
        $this->success('', $data);
    }

效果如下

  • 列表:

image.png

  • 搜索:

image.png
我需要在列表显示标签的名,而不是标签的id
我想问下大家怎么解决,谢谢!

查看更多

关注者
0
被浏览
270
seeingrun
seeingrun 2018-11-16
这家伙很懒,什么也没写!

自己加了tag的方法,但不能点击搜索
table:

{field: 'tag_text', title: __('Tag_text'),operate: false, formatter:  Controller.api.formatter.tag},

tag:

        api: {
            formatter: {
                tag: function (value, row, index) {
                    var that = this;
                    value = value === null ? '' : value.toString();

                    //渲染Flag
                    var html = [];
                    var arr = value.split(',');
                    $.each(arr, function (i, value) {
                        value = value === null ? '' : value.toString();
                        if (value == '')
                            return true;
                        var color = 'primary';
                        var display = value;
                        html.push('<span class="label label-' + color + '">' + display + '</span>');
                    });
                    return html.join(' ');
                },
            }
        }

getTagTextAttr

    //获取tag
    public function getTagTextAttr($value,$data)
    {
        $tag_ids = $data['tag_ids'];

        $Tag =  new \app\admin\model\Tag;
        $tags = $Tag->where('id','in',$tag_ids)->select();
        $tag_test = '';
        foreach ($tags as $key => $value) {
            if ($key == 0) {
                $tag_test .= $value['name'];
            }else{
                $tag_test .= ','.$value['name'];
            }
        }
        return $tag_test;
    }

image.png

1 个回答

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览