Skip to content

Commit e2bf388

Browse files
committed
Added disableAll() and enableAll() methods
1 parent f4b4de2 commit e2bf388

File tree

2 files changed

+33
-2
lines changed

2 files changed

+33
-2
lines changed

demos/selectmenu/methods.html

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,15 @@
7777
$('select#speedA').selectmenu('disableByValue', '11');
7878
});
7979

80-
80+
$('#disableAll').click(function(e){
81+
e.preventDefault();
82+
$('select#speedA').selectmenu('disableAll');
83+
});
84+
85+
$('#enableAll').click(function(e){
86+
e.preventDefault();
87+
$('select#speedA').selectmenu('enableAll');
88+
});
8189

8290
});
8391
</script>
@@ -96,7 +104,10 @@
96104
<hr>
97105
<a href="#nogo" id="disableSlow">Disable "Slow" option</a><br>
98106
<a href="#nogo" id="disable11">Disable "Up to eleven" option</a><br>
99-
<a href="#nogo" id="disableEverythingButSlow">Disable everything but "Slow"</a>
107+
<a href="#nogo" id="disableEverythingButSlow">Disable everything but "Slow"</a><br>
108+
<a href="#nogo" id="disableAll">Disable All</a><br>
109+
<a href="#nogo" id="enableAll">Enable All</a>
110+
100111

101112
<br />
102113
<h2>"default popup" Style</h2>

ui/jquery.ui.selectmenu.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -827,6 +827,26 @@ $.widget("ui.selectmenu", {
827827
return found;
828828
},
829829

830+
disableAll: function() {
831+
var self = this;
832+
this.element.find('option').each(function(i, opt){
833+
if ( !opt.disabled ) {
834+
self.disable(opt.index);
835+
}
836+
});
837+
this.disable();
838+
},
839+
840+
enableAll: function() {
841+
var self = this;
842+
if ( this.options.disabled ) {
843+
this.enable();
844+
}
845+
this.element.find('option').each(function(i, opt){
846+
self.enable(opt.index);
847+
});
848+
},
849+
830850
disableByValue: function(val) {
831851
var idx = this.indexByValue(val);
832852
if ( idx !== null ) {

0 commit comments

Comments
 (0)