在确认框中显示“是”和“否”按钮而不是“确定”和“取消”按钮?

12

感谢Donut的帮助,让我修改了我的问题。 - user300485
@Felix:这不是完全重复,因为之前的问题的答案没有提到如何使用JQuery来实现,只是说这是可能的。这里的答案可以合并到那个问题中。 - Paŭlo Ebermann
@PaloEbermann:好的,这里有一个jQuery对话框的链接。我认为我们可以期望开发人员阅读文档(如果他们知道在哪里找到它)。这仍然是一个重复的问题,因为问题与完全相同的问题有关。 - Felix Kling
6个回答

14

创建自己的确认框:

<div id="confirmBox">
    <div class="message"></div>
    <span class="yes">Yes</span>
    <span class="no">No</span>
</div>

创建自己的confirm()方法:

function doConfirm(msg, yesFn, noFn)
{
    var confirmBox = $("#confirmBox");
    confirmBox.find(".message").text(msg);
    confirmBox.find(".yes,.no").unbind().click(function()
    {
        confirmBox.hide();
    });
    confirmBox.find(".yes").click(yesFn);
    confirmBox.find(".no").click(noFn);
    confirmBox.show();
}

在您的代码中调用它:

doConfirm("Are you sure?", function yes()
{
    form.submit();
}, function no()
{
    // do nothing
});

您需要添加CSS来适当地样式化和定位确认框。

工作演示:jsfiddle.net/Xtreu


无论如何这都不能工作,请更改代码或提供更多关于此的描述。 - Jubin Patel
@jubinPatel - 这是一个工作演示:http://jsfiddle.net/Xtreu/ - gilly3
2
这个确认框不像普通的确认框一样禁用屏幕上的其他内容。即使确认框出现,我仍然可以再次点击“删除我的数据”按钮。 - ALBI
2
@ALBI - 我的jsfiddle更新添加了一个覆盖层来隐藏页面:http://jsfiddle.net/Xtreu/269/。我使用JavaScript添加了覆盖层,但你也可以将其添加到HTML中,并像这样使用JavaScript显示/隐藏它:http://jsfiddle.net/Xtreu/270/。 - gilly3

13

如果你切换到使用jQuery UI Dialog对话框,你可以用适当的名称初始化按钮数组,例如:

$("#id").dialog({
  buttons: {
    "Yes": function() {},
    "No": function() {}
  }
});

2

这里是Jquery alert插件(链接)

$.alerts.okButton = ' Yes ';
$.alerts.cancelButton = ' No ';

2
不,无法更改由confirm函数显示的对话框中按钮的内容。您可以使用JavaScript创建外观类似的对话框。

2
据我所知,至少不容易地更改按钮的内容。但是使用JQuery UI可以很容易地拥有自己的自定义警报框。请参考JQuery UI

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接