|
528 | 528 |
|
529 | 529 | /** |
530 | 530 | * Creates a dropdown menu <select></select> element in the DOM. |
531 | | - * It also helps to asssign select-box methods to p5.Element when selecting existing select box |
| 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 |
534 | | - * @return {Object|p5.Element} pointer to p5.Element holding created node |
| 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 |
535 | 536 | * @example |
536 | 537 | * <div><code> |
537 | 538 | * var sel; |
|
555 | 556 | * </code></div> |
556 | 557 | */ |
557 | 558 |
|
558 | | - p5.prototype.createSelect = function(mult) { |
559 | | - |
560 | | - if( typeof mult === 'object' && mult.elt.nodeName == 'SELECT' ){ |
561 | | - var self = mult; |
562 | | - var elt = this.elt = mult.elt; |
| 559 | + p5.prototype.createSelect = function() { |
| 560 | + var elt,self; |
| 561 | + var arg = arguments[0]; |
| 562 | + if( typeof arg === 'object' && arg.elt.nodeName == 'SELECT' ){ |
| 563 | + self = arg; |
| 564 | + elt = this.elt = arg.elt; |
563 | 565 | }else{ |
564 | | - var elt = document.createElement('select'); |
565 | | - if( mult && typeof mult === 'boolean' ){ |
| 566 | + elt = document.createElement('select'); |
| 567 | + if( arg && typeof arg === 'boolean' ){ |
566 | 568 | elt.setAttribute('multiple', 'true'); |
567 | 569 | } |
568 | | - var self = addElement(elt, this); |
| 570 | + self = addElement(elt, this); |
569 | 571 | } |
570 | 572 | self.option = function(name, value){ |
571 | 573 | var opt = document.createElement('option'); |
|
586 | 588 | } |
587 | 589 | return this; |
588 | 590 | }else{ |
589 | | - if (mult){ |
| 591 | + if (arg){ |
590 | 592 | for (var i = 0; i < this.elt.selectedOptions.length; i++){ |
591 | 593 | arr.push(this.elt.selectedOptions[i].value); |
592 | 594 | } |
|
0 commit comments