javascript - Selection .val has strange, in-understandable value (Chosen plugin) -


in ruby-on-rails, using chosen plugin on multiselector list of provinces below:

<%= select_tag :provinces, options_for_select(datahelper::all_provinces_captions.zip(datahelper::all_provinces_ids)), {:multiple => true, class: 'chosen-select chzn-select', :data => {:placeholder => 'filter provinces/states'}}%> 

i have selector in form field on same page so:

<%= f.select :province_ids,   (datahelper::all_provinces_captions.zip(datahelper::all_provinces_ids)),                  { include_blank: true }, {                  multiple: true, data: {placeholder: 'filter provinces/states'} } %> 

finally, have javascript function synchronizes 2 when #provinces, class .chzn-select changes:

var selectedvals = [];  $(".chzn-select").chosen().change(function() {   $("#provinces option:selected").each(function () {     console.log ("this value " + ($(this).val));     selectedvals.push($(this).val);   });   $("#education_plan_province_ids").empty();    (var = 0; < selectedvals.length; i++) {     console.log (selectedvals[i] + " selected");     $("#education_plan_province_ids").append($("<option>" + selectedvals[i] + "</option>")).prop("selected", true);   } }); 

however, in console, instead of getting output, "this value alabama" example, following:

this value function (a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isfunction(a),this.each(function(c){var e;1===this.nodetype&&(e=d a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e e+="":n.isarray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valhooks[this.type]||n.valhooks[this.nodename.tolowercase( ],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valhooks[e.type]||n.valhooks[e.nodename.tolowercase()],b&&"get"in b&&void 0!= (c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c c.replace(bc,""):null==c?"":c)}} 

so not surprisingly, confused why happening! final piece of info, here all_provinces_captions, all_provinces_ids, canada_provinces_with_caption, , usa_provinces_with_caption in datahelper, arrays:

def self.usa_provinces_with_caption     [["alabama", "alabama"], ["alaska", "alaska"], ["arizona", "arizona"], ["arkansas", "arkansas"], ["california", "california"], ["colorado", "colorado"], ["connecticut", "connecticut"], ["delaware", "delaware"], ["district of columbia", "district of columbia"], ["florida", "florida"], ["georgia", "georgia"], ["hawaii", "hawaii"], ["idaho", "idaho"], ["illinois", "illinois"], ["indiana", "indiana"], ["iowa", "iowa"], ["kansas", "kansas"], ["kentucky", "kentucky"], ["louisiana", "louisiana"], ["maine", "maine"], ["maryland", "maryland"], ["massachusetts", "massachusetts"], ["michigan", "michigan"], ["minnesota", "minnesota"], ["mississippi", "mississippi"], ["missouri", "missouri"], ["montana", "montana"], ["nebraska", "nebraska"], ["nevada", "nevada"], ["new hampshire", "new hampshire"], ["new jersey", "new jersey"], ["new mexico", "new mexico"], ["new york", "new york"], ["north carolina", "north carolina"], ["north dakota", "north dakota"], ["ohio", "ohio"], ["oklahoma", "oklahoma"], ["oregon", "oregon"], ["pennsylvania", "pennsylvania"], ["rhode island", "rhode island"], ["south carolina", "south carolina"], ["south dakota", "south dakota"], ["tennessee", "tennessee"], ["texas", "texas"], ["utah", "utah"], ["vermont", "vermont"], ["virginia", "virginia"], ["washington", "washington"], ["west virginia", "west virginia"], ["wisconsin", "wisconsin"], ["wyoming", "wyoming"]] end def self.canada_provinces_with_caption     [["alberta", "alberta"], ["british columbia", "british columbia"], ["manitoba", "manitoba"], ["new brunswick", "new brunswick"], ["newfoundland", "newfoundland"], ["northwest territories", "northwest territories"], ["nova scotia", "nova scotia"], ["nunavut", "nunavut"], ["ontario", "ontario"], ["prince edward island", "prince edward island"], ["quebec", "quebec"], ["saskatchewan", "saskatchewan"], ["yukon", "yukon"]] end def self.all_provinces_captions     usa_provinces_with_caption.map { |x| x.first } + canada_provinces_with_caption.map { |x| x.first } end def self.all_provinces_ids     usa_provinces_with_caption.map { |x| (province.find_by name: x.first).id} + canada_provinces_with_caption.map { |x| (province.find_by name: x.first).id } end 

it looks missing parenthesis .val method. try following:

$(this).val() 

Comments