Переглянути джерело

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

Justin DuJardin 13 роки тому
батько
коміт
c5d6cb1327
1 змінених файлів з 10 додано та 8 видалено
  1. 10 8
      select2.js

+ 10 - 8
select2.js

@@ -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(';');
-        for (var i = 0; i < attrs.length; i++) {
-            var matches = attrs[i].replace(/\s/g,'')
+        if(style !== undefined){
+            var attrs = style.split(';');
+            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)
-                return matches[1];
+                if(matches != null && matches.length >= 1)
+                    return matches[1];
+            }
         }
         }
-        return this.opts.element.width();
+        return this.opts.element.width() + 'px';
     };
     };