Ruby on Rails | Screencasts | Download | Documentation | Weblog | Community | Source

Ticket #8465: dynamic_parameters_for_ajax_autocomplete.diff

File dynamic_parameters_for_ajax_autocomplete.diff, 1.3 kB (added by fringley, 2 years ago)

PATCH file

  • src/controls.js

    old new  
    338338    this.options.asynchronous  = true; 
    339339    this.options.onComplete    = this.onComplete.bind(this); 
    340340    this.options.defaultParams = this.options.parameters || null; 
     341    this.options.dynamicParams = this.options.dynamicParams || []; 
    341342    this.url                   = url; 
     343     
     344    if(typeof(this.options.dynamicParams) == 'string')  
     345      this.options.dynamicParams = new Array(this.options.dynamicParams); 
    342346  }, 
    343347 
    344348  getUpdatedChoices: function() { 
     
    352356 
    353357    if(this.options.defaultParams)  
    354358      this.options.parameters += '&' + this.options.defaultParams; 
     359       
     360    if(this.options.dynamicParams) { 
     361      for (var i=0; i<this.options.dynamicParams.length; i++) { 
     362        element = $(this.options.dynamicParams[i]); 
     363        switch(element.type) { 
     364          case "checkbox": 
     365            val = element.checked; 
     366            break; 
     367          default: 
     368            val = element.value; 
     369            break; 
     370        } 
     371        this.options.parameters += '&' + element.name + '=' + val; 
     372      } 
     373    } 
    355374     
    356375    new Ajax.Request(this.url, this.options); 
    357376  },