2017-12-08 11:38:31 1945次浏览 2条回答 2 悬赏 40 金钱

如图!求方法
微信图片_20171208113748.png

补充于 2017-12-08 11:42

我在去数据的时候已经个循环加了两空格!传过去的也没有问题!应该是select2的设置问题!
foreach ($parentCats as &$parentCat) {

 $parentCat ['name'] = str_repeat('  ', $parentCat ['level'] - 1) . $parentCat ['name'];

}
请问select2这该怎么设置?
<?= $form->field($model, 'parent_id')->widget(Select2::classname(),[

'data' => $parents,
'hideSearch' => true,
'options' => ['placeholder' => '请选择...',]

])?>

最佳答案

  • koko 发布于 2017-12-08 11:49 举报

    用全角空格

    3 条回复
    回复于 2017-12-08 11:59 回复

    卧槽!还真可以啊!这是什么原理??

    回复于 2017-12-08 12:26 回复

    这方法确实可行,思路值得参考。
    原理是 全角空格 会被当作汉字(字符)来处理,而不是空格字符 :)

    回复于 2017-12-09 21:19 回复

    html代码基本会被转码保存,多个空格也会被合并成一个,放在开头的空格还有可能会被过滤掉。全角空格算是汉字,老外的代码不认得它,自然不会随意处理。

  • 回答于 2017-12-08 11:55 举报

    &nbsp; 代替空格

    3 条回复
    回复于 2017-12-08 12:00 回复

    这个试过了!不行!HTML的字符上去直接就显示出来了!

    回复于 2017-12-08 12:25 回复

    忽略了yii2的处理方式了 :) 核查了下源码 可以通过设置encodeSpaces 来显示空格

            $items = [];
            for($i=0; $i<10; $i++) {
                $items[$i] = (($i%2) ? str_repeat(' ', 4) : '') . $i ;
            }
            echo Html::dropDownList('name', null, $items, ['encodeSpaces' => true]);
            exit('');
    
    回复于 2017-12-08 13:54 回复

    原来是这种原理!受教了!
    不过你这是dropDownList的设置!在select2插件下面我好像没有看到这个设置属性唉

您需要登录后才可以回答。登录 | 立即注册
不刷牙的北极熊
副董事长

不刷牙的北极熊 广州

注册时间:2017-07-18
最后登录:2024-02-20
在线时长:651小时44分
  • 粉丝10
  • 金钱37495
  • 威望40
  • 积分44405

热门问题