Materializecss开关元素更改事件

ahm*_*yik 3 javascript jquery onchange switch-statement materialize

在materializecss文档页面中,没有关于switch元素的api.我使用onclick事件,但有两次触发

HTML

<div class="switch">
    <label>
      Off
      <input type="checkbox">
      <span class="lever"></span>
      On
    </label>
  </div>  
Run Code Online (Sandbox Code Playgroud)

jQuery的

$(".switch").on("click",function() {

    var status = $(this).find("input[type=checkbox]").prop('checked');
    console.log(status)

     $.ajax({
        url : url,
        type : "post",
        data : { status : status}
    })

});

// console.log output : false true or true false
Run Code Online (Sandbox Code Playgroud)

当我改变开关位置时,该事件被触发两次.控制台日志显示交换机当前状态和更改状态.我想只改变状态.因为ajax调用被触发两次并且它在我的后端发生数据库问题.我该如何处理这个问题?

mad*_*scu 9

尝试做一个改变事件

  $(".switch").find("input[type=checkbox]").on("change",function() {
        var status = $(this).prop('checked');

         $.ajax({
            url : url,
            type : "post",
            data : { status : status}
        })
    });
Run Code Online (Sandbox Code Playgroud)