如何动态填充materialts material_chip数据并向芯片添加额外数据?

时间:2017-06-07 15:56:13

标签: javascript materialize

我想在页面上有几个芯片输入,每个字段都有一个单独的标签列表。此外,我希望标签在其中携带一些额外的数据,如引用对象的id(稍后将详细介绍)。

要确定每个芯片输入应使用哪个标签列表,我想使用实际输入,即:

<div class="chips" data-taglist-id="10"></div>
<div class="chips" data-taglist-id="21"></div>

data-taglist-id当然是某些标签数组中的索引,即:

var tags = [
    0: [...],
    [...]
    10: [{tag: 'one'}, {tag: 'two'}],
    [...]
    21: [{tag: 'another'}, {tag: 'different'}]
];

所以不要像下那样将数组传递给materialize_chips:

$('.chips').material_chip({
    data: tags[0]
});

我喜欢这样的东西(下面的代码只是为了说明,因为它不起作用):

$('.chips').material_chip({
    data: function(this) {
       var taglistId = $(this).data('taglist-id');
       return tags[taglistId];
    }
});

另一件事 - 我希望芯片中的每个标签都有一些数据属性,所以不要像这样的条目:

<div class="chip">Apple<i class="material-icons close">close</i></div>

是:

<div class="chip" data-object-id="123">Apple<i class="material-icons close">close</i></div>

这个想法是为标签数组添加一些额外的信息:

[...]
10: [{tag: 'one', data: { object-id: 123} }, {tag: 'two', data: {object-id: 234}}],
[...]

然后将其添加到芯片&gt;生成条目时div.chip ...

由于我遇到了第一个问题,我还没有达到这个目的但只是想问一下 - 实现这个问题的唯一方法就是自己扩展material_chip?

感谢您的任何提示。

0 个答案:

没有答案