2

我需要更改对话框按钮的文本,但我有 3 个对话框按钮,我只需要更改其中一个。

我有这个 jquery 代码:

$("dialog").dialog({
height: 600,
width: 1000,
modal: true,
resizable: false,
buttons: {
     "Upload": function() {
           alert("Upload");
      }
     "Edit": function() {
           $('#dialog').dialog("option", "buttons",[
                    {
                        text: "Save",
                        click: function () {
                            alert("Save");
                        } 
                    }
                ]);
      }
     "Delete": function() {
           alert("Delete");
      }
}

此解决方案将编辑按钮更改为保存按钮,但删除了上传和删除按钮。我可能会在 Edit 函数中再次添加 Upload 和 Delete,但我认为这样看起来不太好。

请帮助我有一个更好的解决方案。

谢谢你。

4

3 回答 3

2

尝试这个

 buttons:
            [
              {
                  text: "Your name"

              }
            ]

或者

$('selector').dialog({
    buttons: {
        OK: function() {
            alert(1);
        }
    },
    dialogClass: 'my-dialog'
});
$('.my-dialog .ui-button-text:contains(OK)').text('CANCEL');
于 2013-04-18T10:44:33.090 回答
0

您可以在创建按钮时为其分配一个类,为您提供一种很好的干净方式来引用它。

这是一个关于 jsfiddle 的工作示例和修改后的代码:

$("#dialog").dialog({
height: 600,
width: 1000,
modal: true,
resizable: false,
        buttons:
            [
              {
                  text: "Upload",
                  click: function() {
                     alert("Upload");
                  }
              },
              {
                  text: "Edit",
                  click: function() {
                    $(".editbutton > .ui-button-text").text("Save"); 
                  },
                  'class': 'editbutton'
              },
                {
                  text: "Delete",
                  click: function() {
                     alert("Delete");
                  }
              }
            ]
    });
于 2013-04-18T10:54:50.357 回答
0

正如 Colin 指出的那样,您可以在对话框的声明中为按钮分配类、id 和行为。为了在创建对话框后定位和更改文本,请使用以下内容:

$('#button-id').click(function(){
    $(this).children('ui-button-text').text("new text");
});
于 2017-04-15T01:36:49.377 回答