按钮没有出现在jQuery对话框中

时间:2013-02-12 13:50:22

标签: jquery jquery-ui jquery-ui-dialog jquery-dialog

我有一个事务编辑jQuery对话框,当单击正确的按钮但没有显示对话框中定义的“保存”和“取消”按钮时弹出正常。对话框的HTML是:

      <div id="trxpop">
        <div>
            <label for="txtItem1">Item1: </label>
            <input id="txtItem1" type="text" /><br />
            <label for="item1">Item2: </label>      
            <input id="txtItem2" type="text" /><br />
        </div>
  </div>

并且jQuery就在这里

jQuery.fn.EditTrx = function (item1, item2) {
$("#txtItem1").val(item1);
$("#item1").val(item1);
$("#trxpop").dialog({
    title: 'Edit Transaction',
    modal: true,
    buttons: {
        'Save': function () {
            /* Do stuff */
            $(this).dialog('close');
        },
        'Cancel': function () {
            $(this).dialog('close');
        }
    },
    resizable: false,
    draggable: true,
    stack: true,
    closeOnEscape: true,
    zIndex: 1320,
    width: 500
});

}

这应该适用于我读过的所有文档。

3 个答案:

答案 0 :(得分:2)

http://jsfiddle.net/G4F7M/

对我来说很好。刚刚更改了func调用并添加了一个用于打开对话框的按钮:

$('input').click(function(){
EditTrx();
});

因此,如果这些按钮没有显示,则可能是导致问题的其他因素,如css。

答案 1 :(得分:0)

我必须在完整的按钮定义周围添加一组新的括号,现在它可以正常工作。我编辑了上面的原始代码示例以反映此更改。感谢您的回复。

答案 2 :(得分:0)

如果问题仍然存在于接受的答案中,那么可以通过在对话控制的公开事件中执行以下操作来解决问题。

open: function (event, ui) {
    //For displaying the buttons of GUI.
    $('.ui-button-text').each(function (i) {
        $(this).html($(this).parent().attr('text'));
    })
},