Как изменить свойство флажка, отмеченное как истинное или ложное в пределах сладкого оповещения - PullRequest
1 голос
/ 21 сентября 2019

Я пытаюсь использовать «сладкое оповещение» для подтверждения, когда пользователь нажимает на флажок, он отображает сообщение с запросом подтверждения.но я хочу, чтобы флажок возвращался в непроверенный статус (prop («флажок», false)), если пользователь щелкнул, чтобы отменить операцию.

Я пытался создать функцию внутри ласточки, а послеФункция if / else, но я не смог выяснить, как заставить swal возвращать что-либо и заставить ее выполнить функцию при нажатии кнопки отмены.Я сталкиваюсь с проблемами, чтобы найти флажок внутри объекта swal.

HTML

<input class="accomplish" id="task-checkbox1" value="1" type="checkbox" data-toggle="toggle" data-onstyle="success" data-offstyle="danger" data-on="Acomplished" data-off="Not Acomplished">

<script>
        $("input.accomplish").change(function(){
            if ($(this).is(":checked")){
                var output = true;
                 swal({
                    title: 'Are you Sure?',
                    icon: 'warning',
                    buttons:{
                        cancel: {
                            visible: true,
                            text : 'Cancel',
                            className: 'btn btn-danger'
                        },
                        confirm: {
                            text : 'Accomplish Task',
                            className : 'btn btn-success'
                        }
                    }
                }).then((willDelete) => {
                    if (willDelete) {
                        swal("Task Accomplished Successfully", {
                            icon: "success",
                            timer: 1500,
                            buttons : {
                                confirm : {
                                    text: "Finish",
                                    className: 'btn btn-primary'
                                }
                            }
                        });
                    } else {
                        output = false;
                        swal("Ok, we finish this task later", {
                            icon: "info",
                            timer: 1500,
                            buttons : {
                                confirm : {
                                    text: "Dismiss",
                                    className: 'btn btn-primary'
                                }
                            }
                        });
                    }
                });
            } else {
                swal({
                    title: 'Trying to undone this task?',
                    icon: 'warning',
                    buttons:{
                        cancel: {
                            visible: true,
                            text : 'calcel',
                            className: 'btn btn-danger'
                        },
                        confirm: {
                            text : 'Undone Task',
                            className : 'btn btn-success '
                        }
                    }
                }).then((willDelete) => {
                    if (willDelete) {
                        swal("Task is pending again", {
                            icon: "success",
                            //timer: 1500,
                            buttons : {
                                confirm : {
                                    text: "Finish",
                                    className: 'btn btn-primary'
                                }
                            }
                        });
                    } else {
                        swal("This task keeps accomplished", {
                            icon: "info",
                            //timer: 1500,
                            buttons : {
                                confirm : {
                                    text: "Dismiss",
                                    className: 'btn btn-primary'
                                }
                            }
                        });
                    }
                });
            }
        });
        </script>

Когда я пытаюсь создать такую ​​функцию, как

$("#task-checkbox1").prop("checked", false);

внутри ласточки или внутри if / else она всегда выполняется до нажатия кнопки.

Ответы [ 2 ]

1 голос
/ 22 сентября 2019

Вы используете плагин swal2, а не оригинальный swal

HTML был представлен здесь до того, как он был в swal, и есть разница в использовании.Вместо

text: "", html: true вы должны использовать

html: "",

1 голос
/ 22 сентября 2019

вы можете попытаться сослаться на это

$(document).ready(() => {
     $("input.accomplish").change(function(){
         const that = this // here a is change

и после нажатия кнопки отмены вы снимите флажок

else {
                      that.checked= false;// here is a change
                        output = false;
                        swal("Ok, we finish this task later", {
                            icon: "info",
                            timer: 1500,
                            buttons : {
                                confirm : {
                                    text: "Dismiss",
                                    className: 'btn btn-primary'
                                }
                            }
                        });
                    }
...