1

我正在使用 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 
        }
    });
});
4

2 回答 2

1

老问题,但这个问题出现在我身上,我找到了正确的答案,在jQuery UI 对话框按钮的帮助下

event.target是你的按钮。

$( "#prompt" ).bind( "dialogclose", function(event, ui) {
    if ($(event.target).text() != "Cancel") {
        if($("#promptValue").val().length > 0){
            // Add business area 
        }
    }
});
于 2013-08-02T16:53:06.427 回答
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!');
                }
            }
        }
    })
于 2011-09-06T12:15:34.903 回答