在jQuery对话框中向我的按钮添加图标

时间:2012-03-27 13:00:46

标签: jquery jquery-ui

我有一个jquery对话框,我在表格中使用了一些按钮(用于编辑/删除功能)。

只有在我之前编码警报时,我才能在这些按钮上添加图标。很奇怪。如果我删除警报,则不会显示按钮。

enter image description here

$().ready(function () {

    $('.MaterialEdit').live("click", function () {
        alert('clicked');
        $(".MaterialPackingEdit").button({ icons: { primary: "ui-icon-pencil"} });
        $(".MaterialPackingRemove").button({ icons: { primary: "ui-icon-trash"} });    
    });
});

上面使用的MaterialEdit类对应于我主页面上的一个按钮,用于打开jQuery对话框。

有什么想法吗?

感谢。

1 个答案:

答案 0 :(得分:0)

问题中的一些标记肯定会有所帮助。无论如何,这里的东西适用于jsFiddle - http://jsfiddle.net/FloydPink/e3pCL/

我们的想法是使用dialog demo page中记载的'open'事件,如下所示:

    open: function(event, ui) {
        $('.MaterialPackingEdit').button({
            icons: {
                primary: "ui-icon-pencil"
            },
            text: false
        });
        $('.MaterialPackingRemove').button({
            icons: {
                primary: "ui-icon-trash"
            },
            text: false
        });
    }

希望有所帮助。

编辑:要将函数本身传递给注释中提及的通用“对话框加载器”函数OP,可以使用下面的代码片段:

$(function() {
    var onDialogOpen = function(event, ui) {
            $('.MaterialPackingEdit').button({
                icons: {
                    primary: "ui-icon-pencil"
                },
                text: false
            });
            $('.MaterialPackingRemove').button({
                icons: {
                    primary: "ui-icon-trash"
                },
                text: false
            });
        };
    $('.dialog').dialog({
        autoOpen: false,
        title:'Buttons As Icons on a jQuery Dialog',
        width: 400,
        open: onDialogOpen
    });
    $('.MaterialEdit').click(function() {
        $('.dialog').dialog('open');
    });
});

将此更新检查到jsFiddle - http://jsfiddle.net/FloydPink/e3pCL/27/