在切换按钮中从打开切换为关闭(显示警报)和从关闭切换为打开(不显示警报)

时间:2018-09-27 20:55:11

标签: javascript

我有Toggle Switch按钮,当它从On转到Off时显示确认警报(“您确定,您要关闭状态!”),并且当它从Off变为On时,我不希望它切换显示确认警报。

我做了如下操作,但是当它从“关闭”变为“打开”时,它将再次显示警报:) 任何人都可以帮助我或为我指明正确的方向!
在此先感谢:)

JavaScript

$(document).ready(function() {

    $('.switchOnOff').click(function() {

        var Id = $(this).data('id');
        var checkStatus = $(this).find('input:checkbox').is(':checked') ? 'On' : 'Off';

        if (checkStatus == "Off") {
            if (confirm("Are you sure , you want to trun off status!")) {
                $.ajax({
                    type: "POST",
                    url: '@Url.Action("UpdateNtf", "Account")',
                    data: {
                        id: Id,
                        status: checkStatus
                    },
                    dataType: 'json',
                    success: function(result) {

                        if (result) {

                            console.log("Ok");
                        } else {

                            console.log("error");
                        }

                    },
                    error: function() {
                        console.log('something went wrong - debug it!');
                    }
                })

            } else {
                return false;
            }
        }
    });
});

查看:

      @if (rma.NTFonoff == "On")
        {
         <input type="checkbox" class="switch-input" checked>
         <span data-on="On" data-off="Off" class="switch-label"></span>
       }
     else 

      {
       <input type="checkbox" class="switch-input">
       <span data-off="Off" data-on="On" class="switch-label"></span>
      }

1 个答案:

答案 0 :(得分:2)

这是一个示例代码,可以满足您的要求。我不会编辑您的代码,因为其中还有很多与您的问题无关的混乱情况。

const button = document.getElementById('button')

button.addEventListener('click', function () {
  if (this.innerText == 'On') {
    if (confirm('Are you sure?')) {
      this.innerText = 'Off'
    }
  } else {
    this.innerText = 'On'
  }
})
<button id="button">Off</button>