0

如何将 jQueryUI 对话框实现为确认对话框?

当前代码:

$("#formular_submit").button().click(function () {
    var meinArray = []; //ein neues Array definieren für die <a href> links
    var say = $("[value='1']:checked").length;
    //Wenn kein Checkbox gesetzt ist, Fehler Meldung
    if (say == 0) {
        alert("Bitte waehlen Sie eine aus.");
        return false;
    }
    //Wenn ein oder mehere gewählt...    
    if (say >= 1) {
        $("[value='1']:checked").each(function () {
            //Alle Links mit "Title" versehen sind, in link Variable
            var link = $("a#links_jquery").attr('title');
            //Alle Werte, die im "link" gespeicher sind, hängt man an das Array an(mit push Method)
            meinArray.push(link);
        });
        //Ausgabe mit Return, mach das, ansonsten False
        return confirm("Möchten Sie wirklich diese News löschen : " + meinArray);
    }
    return false;
}); //formular_submitFunction END
​

这是一个例子:http: //jsfiddle.net/aldimeola1122/9MnGh/

我怎样才能做到这一点?

提前致谢。

4

1 回答 1

0

要将 jQueryUI 对话框实现为确认,您需要取消提交按钮上的click事件并在提交表单的“确认”按钮上实现处理程序。

这是一个示例(带有更新的小提琴以查看它的实际效果):

$(document).ready(function() {
    $("#formular_submit").button().click(function(e) {
        var say = $("[value='1']:checked").length,
            d = $('<div />'),
            p = $('<p />'),
            ul = $('<ul />'),
            li = $('<li />');

        //Wenn kein Checkbox gesetzt ist, Fehler Meldung
        if (say === 0) {
            d.append(p.clone().text('Bitte waehlen Sie eine aus.')).dialog({
                "buttons": {
                    "schließen": function (e) {
                        $(this).dialog('close');
                    }
                }
            });
        }
        //Wenn ein oder mehere gewählt...    
        if (say > 0) {
            $("[value='1']:checked").each(function() {
                //Alle Links mit "Title" versehen sind, in link Variable
                var self = $(this),
                    link = self.siblings('label').find('a.links_jquery').attr('title');
                ul.append(li.clone().text(link));
            });
            //Ausgabe mit Return, mach das, ansonsten False
            d.append(p.clone().text('Möchten Sie wirklich diese News löschen:')).append(ul);
            d.dialog({
                "buttons": {
                    "schließen": function (e) {
                        $(this).dialog('close');
                    },
                    "bestätigen": function (e) {
                        $(this).dialog('close');
                        $('form#meinFormular').submit();
                    }
                }
            });
        }
        e.preventDefault()
        return false;
    }); //formular_submitFunction END
});​

另外,如果我用德语命名错误,我提前道歉。我只知道谷歌翻译告诉我什么。:)

于 2012-11-21T01:18:01.017 回答