Jquery UI - 对话框关闭,按下了哪个按钮

时间:2011-09-06 12:06:55

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

我使用jquery ui对话框作为提示。 “提示”必须有按钮,“确定”和“取消”。这里的问题是,当触发.dialog(“close”)时,它会在对话框中提取输入字段值,我唯一的验证是输入字段的长度必须大于0个字符。这意味着即使您键入内容并按取消,提示中的文本也将被提交。我的想法是找出按下了什么按钮......任何人都知道这个解决方案吗?

我当前的活动代码:

$("#addBusinessarea").click(function(){
    createPrompt("Add new business area", "Business area name:");
    $( "#prompt" ).bind( "dialogclose", function(event, ui) {
        if($("#promptValue").val().length > 0){
            // Add business area 
        }
    });
});

2 个答案:

答案 0 :(得分:1)

正确解决更改jQuery UI对话框定义按钮的方式。它看起来像这样(注意你可以为不同的按钮设置不同的点击处理程序):

$("#modal").dialog({
        buttons: {
            Yes: {
                text: 'Yeeees!',
                click: function() {
                    alert('I clicked yes!');
                }
            },
            No: {
                text: 'Hell no!',
                click: function() {
                    alert('I clicked no!');
                }
            }
        }
    })

答案 1 :(得分:1)

老问题,但是这个问题出现了,我在jQuery UI Dialog buttons

的帮助下找到了正确答案

event.target是您的按钮。

$( "#prompt" ).bind( "dialogclose", function(event, ui) {
    if ($(event.target).text() != "Cancel") {
        if($("#promptValue").val().length > 0){
            // Add business area 
        }
    }
});
相关问题