javascript - Materialize CSS,显示自动完成芯片的图像

标签 javascript jquery css autocomplete materialize

Materialize chips 的文档显示你可以用图像制作芯片:

<div class="chip">
    <img src="images/yuna.jpg" alt="Contact Person">
    Jane Doe
</div>

这工作正常 - 当我们使用自动完成选项时,这也工作:

$('.chips-autocomplete').material_chip({
    autocompleteOptions: {
        data: {
            'Apple': null,
            'Microsoft': null,
            'Google': 'images/juna.jpg'
        },
        limit: Infinity,
        minLength: 1
    }
});

由于我们已将“images/juna.jpg”指定为对象中“Google”属性的值,所以当我们开始键入“Goo”时,此图像会显示在自动完成下拉列表旁边。

但是,当这个下拉项被选中时,它只是添加了一个显示“Google”和关闭按钮的信息 block ,没有图像。是否可以在创建芯片后让图像与文本一起显示?

最佳答案

在我的例子中,我使用了 chip.add 事件来在输入芯片时显示图像。基本上,我必须复制传递给 autocompleteOptions 的数据,并使用 chip.tag 作为键来匹配正确的图像。

$('.chips').on('chip.add', function(e, chip){

  var data = {
    'Kyle Robinson': 'dist/images/user-01.jpg',
    'Rebecca Smith': 'dist/images/user-02.jpg',
    'Aaron Lloyd': 'dist/images/user-03.jpg'
  } //same data passed to autocompleteOptions

  var key = chip.tag;
  $(this).children('.chip').append('<img src="' + data[key] + '">');

});

实例:jsFiddle

编辑:无需复制数据,您可以使用:

$('.chips-initial').material_chip('data');

关于javascript - Materialize CSS,显示自动完成芯片的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45246746/

相关文章:

html - 在容器中将引导图像调整为屏幕大小

javascript - jQuery/JavaScript - 计算多个父元素中的子元素

javascript - .click( swap ) 在给定特定 src 时停止工作?

javascript - XHR 加载失败 : POST java spring

javascript - 对 jQuery 的 .each() 的基本误解(附示例)

javascript - 脚本添加 iframe 内容在 chrome 中没有用户代理样式

javascript - 隐藏侧边栏和下拉菜单

javascript - Jquery验证在选中和取消选中(复选框)后不起作用

默认消息上元素的 jquery 验证类

html - 响应式设计,最大宽度不起作用