更改Jquery对话框按钮文本

时间:2013-04-18 10:36:15

标签: jquery

我需要更改对话框按钮的文本,但我有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");
      }
}

此解决方案将“编辑按钮”更改为“保存”按钮,但它会删除“上载”和“删除”按钮。我可以在编辑功能中再次添加上传和删除,但我认为它看起来不太好。

请让我帮助我找到更好的解决方案。

谢谢。

3 个答案:

答案 0 :(得分:2)

试试这个

 buttons:
            [
              {
                  text: "Your name"

              }
            ]

$('selector').dialog({
    buttons: {
        OK: function() {
            alert(1);
        }
    },
    dialogClass: 'my-dialog'
});
$('.my-dialog .ui-button-text:contains(OK)').text('CANCEL');

答案 1 :(得分:0)

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

Here's a working example on 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");
                  }
              }
            ]
    });

答案 2 :(得分:0)

正如科林指出的那样,你可以在对话框的声明中为按钮分配一个类,id和行为。 为了在创建对话框后找到并更改文本,请使用以下内容:

$('#button-id').click(function(){
    $(this).children('ui-button-text').text("new text");
});