Jquery对话框:创建时隐藏按钮

时间:2011-04-16 16:44:50

标签: jquery jquery-ui


  我想在最初创建对话框时禁用按钮。我在稍后在结果可用时启用此按钮,并且需要保持启用状态。我试图在创建事件中执行此操作,但不起作用。如果我将其移动到打开状态,它会隐藏按钮,但每当我打开对话框时它都会被隐藏(即使我将其设置为在搜索回调中显示)。这是不可取的。我只需要隐藏选择按钮,直到我启用它。

感谢您的帮助 BSR。

$myWindow.dialog({ width: 400, autoOpen:false, title:'search',
        overlay: { opacity: 0.5, background: 'black'}, modal: true,
        open: function(event, ui) { $(".ui-dialog-titlebar-close").hide(); }, //to disable x on the title             
        create: function(event, ui) { $(".ui-dialog-buttonpane button:contains('Select')").button().hide(); },  
        buttons: {
            "Select": function() { ... },
            "Search": function() { ...
                $(".ui-dialog-buttonpane button:contains('Search')").button().hide(); },
            "Close": function() {$(this).dialog("close"); }
                }
    }); 

========== 编辑:

清除方案。 我有3个按钮,如代码所示,选择,搜索和取消 1.当用户第一次打开对话框时,显示2个按钮(搜索并关闭)
2.当用户按下搜索时,我禁用搜索按钮,如代码
所示 3.当获得搜索结果时,我启用选择按钮(代码中未显示,但它有效) 4.现在,用户通过按关闭关闭对话框 5.现在,如果用户再次打开对话框,它将保留先前的状态(以及所有结果)。

一切都在上面工作,除了1.这是如何隐藏选择按钮,直到我明确启用它。问题是我在“打开”事件中禁用它,第5步失败,因为它没有保留选择按钮。

编辑2:

Js Fiddle http://jsfiddle.net/kkh2a/

所以我唯一需要的是禁用“选择”按钮,直到我在搜索结果回调中明确显示它(或当我点击搜索按钮时通过按钮()。show())

感谢。

1 个答案:

答案 0 :(得分:1)

不要无条件隐藏您的选择。启用它时,在其上抛出数据属性。然后,在创建对话框时,检查它是否具有该属性并在必要时隐藏它。

编辑:如果您需要一些高质量的帮助,我个人需要更多代码。抛出一个jsfiddle

答案: http://jsfiddle.net/kkh2a/1/

我在这里所做的只是禁用按钮并将其隐藏,然后删除禁用并在您点击搜索时显示它。