1

エントリに対応する一連のチェックボックスと、jquery ui modal confirm を添付したすべて削除ボタンがあります。ここでフィドル: http://jsfiddle.net/BxdWc/。問題は、確認ダイアログで「はい」を押した後、フォームを送信しない ( php によって処理されない) ことです。PHPコードはページの上部に含まれていますが、モーダルがないとコードが処理され、チェックされたエントリが適切に削除されるため、これとは何の関係もないと確信しています。

JS:

$(function () {
    $("#dialog-confirm-multiple").dialog({
        autoOpen: false,
        resizable: false,
        width: 300,
        modal: true,
        show: {
            effect: "bounce",
            duration: 100
        },
        hide: "drop",
        buttons: {
            "Yes": function () {
                $("#confirm").submit();
                $(this).dialog("close");
            },
            "No": function () {
                $(this).dialog("close");
            }
        }
    });
    $("#doDelete").click(function (e) {
        e.preventDefault();
        $("#dialog-confirm-multiple").dialog('open');
        return false;
    });
});

HTML:

<form post="self.php" id="confirm">
<!-- some inputs .etc -->
<input name="doDelete" type="submit" id="doDelete" value="Delete" class="btn btn-danger">
</form>
4

2 に答える 2

0

これを少し修正して、id ではなくクラスで確認ボタンを示したときに機能するようにしました。私はjavascriptの初心者なので注意してください!これを改善してください。

$(function () {
    $("input.doDelete").click(function (e,ui) {
        var button = $(e.target);
        $("#dialog-confirm-multiple").dialog({
            autoOpen: false,
            resizable: false,
            width: 300,
            modal: true,
            show: {
                effect: "bounce",
                duration: 100
            },
            hide: "drop",
            buttons: {
                "Yes": function () {
                    $(this).dialog("close");
                    button.click();
                },
                "No": function () {
                    $(this).dialog("close");
                }
            }
        });
        if(e.originalEvent) {
            e.preventDefault();
            $("#dialog-confirm-multiple").dialog('open');
            return false;
        }
    });
});
于 2014-01-11T22:31:29.920 に答える