Frage

Wie man einen Bestätigungsdialog in Javascript mit benutzerdefinierter Auswahl schreiben?

Statt nur „Ok“ und „Abbrechen“, würde Ich mag zum Beispiel haben „Dieses“ „Das“ und „Sonstige“.

War es hilfreich?

Lösung

Kurz gesagt, man kann es nicht.

Sie können in prüfen, suchen mit so etwas wie ein jQuery UI Dialog statt.

Andere Tipps

Sie können den Benutzer auf eine Antwort fragen mit:

var userChoice = prompt("Question");

Sie könnte diesen Satz Schleife, bis der Benutzer eine Antwort innerhalb der gültigen diejenigen eintritt.

Sie können nicht. Verwenden Sie einige Javascript UI (jQuery UI, YUI, Mootools) Bibliothek und imitieren einen Dialog Sie benötigen.

// custom Confirm builder
function OnConfirm(text, func) {

    var _confirm = $('<div/>').addClass('confirm');
    _confirm.append($('<h2/>').text(text));

    _confirm.append('<br/><br/>');

    var _btnCancel = $('<input/>').attr('type', 'button').val('cancel')
        .bind('click', function () {
            $(this).parent('.confirm').hide();
            func(false);
        });

    var _btnApply = $('<input/>').attr('type', 'button').val('OK')
        .bind('click', function () {
            $(this).parent('.confirm').hide();
            func(true);
        });

    _confirm.append(_btnCancel);
    _confirm.append(_btnApply);
    $('body').append(_confirm);
}

$(function () { // documen.loaded
    $('#testLink').click(function (e) {
        e.preventDefault(); ;
        var _href = $(this).attr('href');
        var _title = $(this).attr('title');
        // call custom confirm function with callback function
        OnConfirm(_title, function (_isContinue) {               
                if (_isContinue) {
                    location.href = _href;
                }
            }
        );
    });
});
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top