有人可以帮我隐藏/禁用jQuery对话框上的按钮吗?
场景:点击按钮我打开一个带有“添加”和“更新”按钮的对话框。 在对话框中我有2个包含日期和消息的文本框。如果数据已存在于数据库中,它们将填充数据,否则它们将为空白,允许用户添加数据。
现在,如果文本框中有预先填充的数据(db中存在消息),我必须隐藏“添加”按钮,因为用户只能更新消息。我尝试了一些技巧,我从stackoverflow中获取但是没有一个工作,因为我点击按钮打开对话框,我想我正在动态创建按钮,我无法在飞行中隐藏它们。
我还尝试给对话框按钮添加ID并使用以下代码隐藏/禁用它: $( '#ID')隐藏()。 $( '#标识')ATTR( '禁用', '禁用');
我查看下面的小提琴,这正是我想要的但是如果我采用这个,那么我必须做很多代码更改。所以,想知道是否有人能为我提供一个简单的解决方案。
[http://jsfiddle.net/kkh2a/1/]
提前致谢。
$('#dialog-form').dialog({width:350,height:300,
resizable:false,
modal:true,
closeOnEscape: true,
draggable:false,
show:{effect:"fade"},
buttons:{
Add:{
text:'Add',
id:'AddMsg',
click:function(){
}},
Update:function(){
},
Cancel:function(){
$(this).dialog("close");
}
}});
答案 0 :(得分:0)
试试这个:
$('#dialog-form').dialog({
...
buttons : {...},
open : function() {
$('#dialog-form')
.dialog('widget')
.find('div.ui-dialog-buttonpane div.ui-dialog-buttonset button')
.eq(0)
.button('disable');
}
});
答案 1 :(得分:0)
Hy all, 我用这种方式:
$("#myDivForLoadingDialog").dialog({
modal: true,
resizable: false,
height: "auto",
draggable: false,
closeOnEscape: false,
open: function (event, ui) {
$("#myDivForLoadingDialog").prev().hide();
}
})
没有在选项中设置按钮,它没有显示
中的任何按钮设置closeOnEscape:false以避免您的加载消息被" esc"关闭按钮
在opencallback中隐藏标题框(以及它里面的关闭按钮)。
我更喜欢通过加载邮件来避免拖动,调整大小和所有不需要的功能。
它适用于jQuery 1.11.1(可能与以前的所有版本一起使用)