|
530 | 530 | * Creates a dropdown menu <select></select> element in the DOM. |
531 | 531 | * It also helps to assign select-box methods to p5.Element when selecting existing select box |
532 | 532 | * @method createSelect |
533 | | - * @param {boolean} [multiple] true if dropdown should support multiple selections OR |
534 | | - * @param {Object|p5.Element} if wrapping methods to existing select |
535 | | - * @return {Object|p5.Element} pointer to p5.Element holding created or existing node |
| 533 | + * @param {boolean} [multiple] true if dropdown should support multiple selections |
| 534 | + * @return {p5.Element} |
536 | 535 | * @example |
537 | 536 | * <div><code> |
538 | 537 | * var sel; |
|
555 | 554 | * } |
556 | 555 | * </code></div> |
557 | 556 | */ |
| 557 | + /** |
| 558 | + * @method createSelect |
| 559 | + * @param {Object} existing DOM select element |
| 560 | + * @return {p5.Element} |
| 561 | + */ |
558 | 562 |
|
559 | 563 | p5.prototype.createSelect = function() { |
560 | | - var elt,self; |
| 564 | + var elt, self; |
561 | 565 | var arg = arguments[0]; |
562 | | - if( typeof arg === 'object' && arg.elt.nodeName == 'SELECT' ){ |
| 566 | + if( typeof arg === 'object' && arg.elt.nodeName === 'SELECT' ) { |
563 | 567 | self = arg; |
564 | 568 | elt = this.elt = arg.elt; |
565 | | - }else{ |
| 569 | + } else { |
566 | 570 | elt = document.createElement('select'); |
567 | | - if( arg && typeof arg === 'boolean' ){ |
| 571 | + if( arg && typeof arg === 'boolean' ) { |
568 | 572 | elt.setAttribute('multiple', 'true'); |
569 | 573 | } |
570 | 574 | self = addElement(elt, this); |
571 | 575 | } |
572 | | - self.option = function(name, value){ |
| 576 | + self.option = function(name, value) { |
573 | 577 | var opt = document.createElement('option'); |
574 | 578 | opt.innerHTML = name; |
575 | 579 | if (arguments.length > 1) |
|
578 | 582 | opt.value = name; |
579 | 583 | elt.appendChild(opt); |
580 | 584 | }; |
581 | | - self.selected = function(value){ |
| 585 | + self.selected = function(value) { |
582 | 586 | var arr = []; |
583 | | - if (arguments.length > 0){ |
584 | | - for (var i = 0; i < this.elt.length; i++){ |
585 | | - if (value.toString() === this.elt[i].value){ |
| 587 | + if (arguments.length > 0) { |
| 588 | + for (var i = 0; i < this.elt.length; i++) { |
| 589 | + if (value.toString() === this.elt[i].value) { |
586 | 590 | this.elt.selectedIndex = i; |
587 | 591 | } |
588 | 592 | } |
589 | 593 | return this; |
590 | | - }else{ |
591 | | - if (arg){ |
592 | | - for (var i = 0; i < this.elt.selectedOptions.length; i++){ |
| 594 | + } else { |
| 595 | + if (arg) { |
| 596 | + for (var i = 0; i < this.elt.selectedOptions.length; i++) { |
593 | 597 | arr.push(this.elt.selectedOptions[i].value); |
594 | 598 | } |
595 | 599 | return arr; |
596 | | - }else{ |
| 600 | + } else { |
597 | 601 | return this.elt.value; |
598 | 602 | } |
599 | 603 | } |
|
0 commit comments