1
0
mirror of synced 2025-02-09 16:49:24 +03:00

Deal with non-existent style attributes, and returning calculated pixel widths as a fallback.

This commit is contained in:
Justin DuJardin 2012-03-31 10:20:49 -07:00
parent fa41027264
commit c5d6cb1327

View File

@ -1,4 +1,4 @@
/* /*
Licensed to the Apache Software Foundation (ASF) under one Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file or more contributor license agreements. See the NOTICE file
distributed with this work for additional information distributed with this work for additional information
@ -603,16 +603,18 @@
AbstractSelect2.prototype.getContainerWidth = function() { AbstractSelect2.prototype.getContainerWidth = function() {
if (this.opts.width !== undefined) if (this.opts.width !== undefined)
return this.opts.width; return this.opts.width;
var style = this.opts.element.attr('style'); var style = this.opts.element.attr('style');
var attrs = style.split(';'); if(style !== undefined){
for (var i = 0; i < attrs.length; i++) { var attrs = style.split(';');
var matches = attrs[i].replace(/\s/g,'') for (var i = 0; i < attrs.length; i++) {
var matches = attrs[i].replace(/\s/g,'')
.match(/width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/); .match(/width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/);
if(matches != null && matches.length >= 1) if(matches != null && matches.length >= 1)
return matches[1]; return matches[1];
}
} }
return this.opts.element.width(); return this.opts.element.width() + 'px';
}; };