我想在最初创建对话框时禁用按钮。我在稍后在结果可用时启用此按钮,并且需要保持启用状态。我试图在创建事件中执行此操作,但不起作用。如果我将其移动到打开状态,它会隐藏按钮,但每当我打开对话框时它都会被隐藏(即使我将其设置为在搜索回调中显示)。这是不可取的。我只需要隐藏选择按钮,直到我启用它。
感谢您的帮助 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步失败,因为它没有保留选择按钮。
Js Fiddle http://jsfiddle.net/kkh2a/
所以我唯一需要的是禁用“选择”按钮,直到我在搜索结果回调中明确显示它(或当我点击搜索按钮时通过按钮()。show())
感谢。
答案 0 :(得分:1)
不要无条件隐藏您的选择。启用它时,在其上抛出数据属性。然后,在创建对话框时,检查它是否具有该属性并在必要时隐藏它。
编辑:如果您需要一些高质量的帮助,我个人需要更多代码。抛出一个jsfiddle?
答案: http://jsfiddle.net/kkh2a/1/
我在这里所做的只是禁用按钮并将其隐藏,然后删除禁用并在您点击搜索时显示它。