materializecss芯片onChipAdd回调无效

时间:2018-10-27 06:00:31

标签: jquery materialize

我正在使用materializecss编写一个表单字段,其中包含带有自动完成选项的mat-chips。这个想法是每当添加新芯片时都发出PATCH请求。以下是我当前正在使用的代码段:

$('#tag-chips').material_chip({
        autocompleteOptions: {
            data: {
                'golang': null,
                'docker': null,
                'kubernetes': null
            }
        },
        onChipAdd: () => {
            console.log('tag added');
        }
    });

chip字段工作正常,但回调似乎从未启动。控制台中也没有错误消息。

我还根据我提出的一些搜索尝试了另一种方法来实现这一目标:

$('#tag-chips').on('chip.add', (event, chip) => {
        console.log(event, chip);
});

但没有帮助。

2 个答案:

答案 0 :(得分:0)

这里有一个有效的例子。像这样调用回调:

onChipAdd: function(e) {
    console.log(e);
}

$('.chips-initial').chips({
    autocompleteOptions: {
        data: {
            'golang': null,
            'docker': null,
            'kubernetes': null
        }
    },
    onChipAdd: function(e) {
    console.log(e);
    }
  });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

    <!-- Compiled and minified CSS -->
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">

    <!-- Compiled and minified JavaScript -->
    <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
    <link href="https://fonts.googleapis.com/icon?family=Material+Icons"
      rel="stylesheet">
    
<!-- Default with no input (automatically generated)  -->
  <div class="chips chips-initial"></div>

答案 1 :(得分:0)

ES6使用箭头功能的方式,您可以像这样调用函数。

HTML

<div class="container">
    <div class="chips chips-autocomplete"></div>
</div>

jQuery

$(document).ready(function () {
    $('.chips-autocomplete').chips({
        autocompleteOptions: {
            data: {
                'Apple': null,
                'Microsoft': null,
                'Google': null
            },
            limit: Infinity,
            minLength: 1
        },
        onChipAdd: () => {
            console.log("Chip Added");
        },
        onChipSelect: () => {
            console.log("Chip Selected");
        },
        onChipDelete: () => {
            console.log("Chip Deleted");
        }
    });
});