打开jQuery-UI对话框时,如何隐藏按钮(例如,隐藏" Save"按钮)?
http://jsfiddle.net/ba6jwh54/1/
<!-- head -->
<link href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/themes/ui-lightness/jquery-ui.css" type="text/css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.js" type="text/javascript"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.js" type="text/javascript"></script>
<!-- body -->
<div id="dialog" class="dialog" title="My Title"></div>
<a href="#" id="open">open</a>
// javascript
$(document).ready(function() {
$('#open').click(function() {
$("#dialog").dialog("open");
});
$("#dialog").dialog({
autoOpen: false,
height: 400,
width: 350,
modal: true,
open: function() {
var dialog = $(this);
console.log('dialog', dialog);
var buttons = dialog.dialog("option", "buttons");
console.log('buttons', buttons);
//Change names this way...
buttons[0].text = 'Save2';
buttons[1].text = 'Cancel2';
dialog.dialog("option", "buttons", buttons);
//How do I hide a button (i.e. hide Save button)?
},
buttons: [{
text: 'SAVE',
click: function() {
alert('save');
$(this).dialog("close");
}
}, {
text: 'CANCEL',
click: function() {
$(this).dialog("close");
}
}]
});
});
答案 0 :(得分:1)
最简单的方法是抓住 当前对话框的widget元素 和.find()
里面的按钮:
open: function () {
var $widget = $(this).dialog("widget");
$widget.find(".ui-dialog-buttonpane button:first").hide();
}
比找到页面上的所有button
元素并猜测哪一个是哪个元素更容易。
答案 1 :(得分:0)
我刚刚在按钮上添加了一个id,并更新了点击功能以隐藏它。
$(document).ready(function () {
$('#open').click(function () {
$("#dialog").dialog("open");
$("#save").hide();
});
$("#dialog").dialog({
autoOpen: false,
height: 400,
width: 350,
modal: true,
open: function () {
var dialog = $(this);
console.log('dialog', dialog);
var buttons = dialog.dialog("option", "buttons");
console.log('buttons', buttons);
//Change names this way...
buttons[0].text = 'Save2';
buttons[1].text = 'Cancel2';
dialog.dialog("option", "buttons", buttons)
//How do I hide a button (i.e. hide Save button)?
},
buttons: [{
text: 'SAVE',
id: "save",
click: function () {
alert('save');
$(this).dialog("close");
}
}, {
text: 'CANCEL',
click: function () {
$(this).dialog("close");
}
}]
});
});