【问题标题】:Initialize material design bootstrap tag初始化材料设计引导标签
【发布时间】:2017-09-26 09:22:52
【问题描述】:

我在我的 Laravel 应用程序中使用 Material Design Tags

<div class="chips chips-placeholder chips-initial"></div>

我想用存储在数据库中的值初始化这个芯片元素:

["kingfisher", "art"]

在刀片中我得到$art-&gt;keywords 如下:

array:1 [▼
  0 => "art"
]

如何将此值分配给下面的 jQuery 代码?

$('.chips-initial').material_chip({
    data: [{
      tag: 'Tag 1',
    }, {
      tag: 'Tag 2',
    }, {
      tag: 'Tag 3',
    }],
  });

我试过了:

var keywords[] = "{{ json_encode($art->keyword) }}";
console.log(keywords);
$.each(keywords, function( index, value ) {
    alert( index + ": " + value );
})

然后我收到以下错误:

未捕获的类型错误:无法使用 'in' 运算符在 in 中搜索 'length' [“艺术”]

我也试过这个:

var keywords = "{{ json_encode($art->keyword) }}";
$.each(JSON.parse(keywords), function( index, value ) {
    alert( index + ": " + value );
});

收到此错误:

Uncaught SyntaxError: Unexpected token & in JSON at position 1

如果数组是数字的,一切正常,即[1,2,3]

【问题讨论】:

    标签: jquery twitter-bootstrap-3 laravel-5.3 bootstrap-tags-input bootstrap-material-design


    【解决方案1】:
    var keywords = '{{ json_encode($art->keyword) }}';
    if(keywords != 'null'){
        var data = JSON.parse(keywords.replace(/&quot;/g,'"'));
        var option = {}; // my object
        var options =  []; // my array
        $.each(data, function( index, value ) {
            option = {
                tag : value 
            }
            options.push(option);
        });
        console.log(options);
        $('.chips-initial').material_chip({
            data: options,
        });
    }
    

    【讨论】:

      猜你喜欢
      • 2015-05-23
      • 2018-05-16
      • 2015-07-08
      • 2017-08-30
      • 1970-01-01
      • 2019-02-16
      • 1970-01-01
      • 2018-03-26
      • 1970-01-01
      相关资源
      最近更新 更多