jQuery Ui Dialog Buttons, How to add class?

前端 未结 5 1465
花落未央
花落未央 2020-12-29 00:53

I found this answer on another thread..

How to add multiple buttons in Jquery UI dialog box?

Using this syntax, how do you add class to a particular button?<

5条回答
  •  南方客
    南方客 (楼主)
    2020-12-29 01:47

    It doesn't look like there's a great way to do this via the API, however you could add the classes in an event handler for create:

    $("#dialog").dialog({
        buttons: {
            'Confirm': function() {
                //do something
                $(this).dialog('close');
            },
            'Cancel': function() {
                $(this).dialog('close');
            }
        },
        create:function () {
            $(this).closest(".ui-dialog")
                .find(".ui-button:first") // the first button
                .addClass("custom");
        }
    });
    

    If you wanted the second button, you could use:

    $(this).closest(".ui-dialog").find(".ui-button").eq(1).addClass("custom") // The second button
    

    The key is the $(this).closest(".ui-dialog").find(".ui-button"), which will select the buttons in your dialog. After that, you could apply any selector you want (including :contains(...) which might be useful if you want to select a button based on its text instead of its order).

    Here's an example: http://jsfiddle.net/jjdtG/

    Also note that the CSS selector for the style(s) you want to apply has to be more specific than jQueryUI's built-in selectors in order for the styling to be applied.

提交回复
热议问题