* Disables or enables an option; if only a boolean is passed (or nothing), * then the entire Dropkick will be disabled or enabled. * * @method disable * @param {Integer} elem The element or index to disable * @param {Boolean} disabled Value of disabled * @example * va
( elem, disabled )
| 431 | * select.disable(4, false); |
| 432 | */ |
| 433 | disable( elem, disabled ) { |
| 434 | var disabledClass = "dk-option-disabled"; |
| 435 | |
| 436 | if ( arguments.length === 0 || typeof elem === "boolean" ) { |
| 437 | disabled = elem === undefined ? true : false; |
| 438 | elem = this.data.elem; |
| 439 | disabledClass = "dk-select-disabled"; |
| 440 | this.disabled = disabled; |
| 441 | } |
| 442 | |
| 443 | if ( disabled === undefined ) { |
| 444 | disabled = true; |
| 445 | } |
| 446 | |
| 447 | if ( typeof elem === "number" ) { |
| 448 | elem = this.item( elem ); |
| 449 | } |
| 450 | |
| 451 | if (disabled) { |
| 452 | elem.setAttribute( 'aria-disabled', true ); |
| 453 | _.addClass( elem, disabledClass ); |
| 454 | } else { |
| 455 | elem.setAttribute( 'aria-disabled', false ); |
| 456 | _.removeClass( elem, disabledClass ); |
| 457 | } |
| 458 | } |
| 459 | |
| 460 | /** |
| 461 | * Hides or shows an option. |